![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | ||
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Всем привет. Давненько не виделись
![]() Подскажите, почему так? Код Код:
Цитата:
Код:
Цитата:
Код:
|
||
![]() |
![]() |
![]() |
#2 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Он что, типа по умолчанию целочисленные константы считает знакопеременными?
Ваще логика странная Код:
Цитата:
Последний раз редактировалось Sibedir; 02.05.2019 в 21:07. |
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Именованные не типизированные целочисленные константы имеют тип longint или int64, если выход за диапазон longint-а. Надо полагать это имеет отношение и к не именованным.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#4 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Ну получается, что для не именованых это только longint (см. пост 2).
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
там же в знаковый int64 присваивается longint(-2147483648) так, что так и должно быть.
i := UInt32(1 shl 31) // 2147483648 - тоже понятно - приведение к беззнаковому а тот i := 1 shl 31 из #1 и ошибка пока не догоняю ) зы, там ошибка присвоения отрицательного беззнаковому типу
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 02.05.2019 в 22:05. |
![]() |
![]() |
![]() |
#6 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,926
|
![]()
Это уже весьма старый глюк папаши Борланда.
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
А чего глючного? Все согласно типа операнда и битового сдвига. А арифметического и циклического сдвига в делфи нет
add мало того, Byte(1) shl 31 все равно вернет -2147483648, то есть Byte перед shl повышается до longint.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 03.05.2019 в 08:41. |
![]() |
![]() |
![]() |
#8 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Ну ладно, в принципе понятно.
Спасибо. Как всегда экономите кучу времени неучам, которые типа программируют. Разбогатею - отблагодарю ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задачка. Диапазоны | VladimirAvakov | Помощь студентам | 2 | 14.04.2016 00:54 |
диапазоны СУММЕСЛИ() | Khalid | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 12.03.2015 10:38 |
Диапазоны в VBA | Outed | Microsoft Office Excel | 4 | 17.02.2015 08:38 |
Разбить на диапазоны! | Seregakz | Общие вопросы Delphi | 3 | 21.09.2014 16:49 |
Как просуммировать диапазоны? | Алексей11111 | Microsoft Office Excel | 7 | 28.11.2009 18:19 |