10 / 7 / 3
Регистрация: 14.07.2015
Сообщений: 284
|
||||||
1 | ||||||
Как понять, какого типа константа?10.08.2016, 11:55. Показов 1244. Ответов 9
константу обычно обо значают типа
0
|
|
10.08.2016, 11:55 | |
Ответы с готовыми решениями:
9
123 - какого типа эта константа??? Даны функциональная константа, предикатная константа и определённое количество аксиом. Как построить модель Какого типа это ДУ и как его решать Можно ли как-то понять, что форма была скопирована и перенесена из какого-либо другого файла Access? |
пофигист широкого профиля
4633 / 3078 / 852
Регистрация: 15.07.2013
Сообщений: 17,743
|
|
10.08.2016, 12:05 | 2 |
Никакого конкретного типа у этой константы нет.
1
|
129 / 17 / 7
Регистрация: 02.11.2015
Сообщений: 52
|
|||||||||||
10.08.2016, 12:11 | 3 | ||||||||||
![]() Решение
Pascal преобразовывает константу к типу наименьшего размера, в который влезет константа. В данном случае
1
|
пофигист широкого профиля
4633 / 3078 / 852
Регистрация: 15.07.2013
Сообщений: 17,743
|
|
10.08.2016, 12:34 | 4 |
0
|
BOGG ART
|
10.08.2016, 12:56
#5
|
Не по теме: Оптимизация, чтоб её. Мне множество урезает до минимума, никак не заставлю выравнивать к 4 байтам.
0
|
10 / 7 / 3
Регистрация: 14.07.2015
Сообщений: 284
|
|
10.08.2016, 12:59 [ТС] | 6 |
alex256, а если подходит под джва типа одинаково? Например, integer (в текущей версии fpc) и longint имеют одинаковый диапазон
0
|
northener
|
10.08.2016, 13:09
#7
|
0
|
Супер-модератор
![]() ![]() |
|
10.08.2016, 13:09 | 8 |
Паскаль подставляет значение, записанное в константе, туда, где используется ее имя, а не приводит ничего ни к каким типам. А вот потом уже начинаются всяческие проверки, нет ли каких-либо несоответствий или выходов за границы типов РЕЗУЛЬТАТА выражения (или параметров подпрограмм), что не имеет ничего общего с "типом" константы.
2
|
10 / 7 / 3
Регистрация: 14.07.2015
Сообщений: 284
|
|||||||||||
10.08.2016, 13:32 [ТС] | 9 | ||||||||||
volvo, надо было мне изначально объяснить зачем мне это понадобилось.
допустим объявил консту:
Я понимаю что можно забить на эти тонкости и обычно компилятор сам приводит типы (если нету перехода за границы диапазона). Но вдруг я объявлю массив как массив cardinal, а затем мне вздумается и я изменю DEF_ID на -15, или наоборот 4 294 967 297 (превышение диапазона cardinal), и буду потом исать ошибку по коду. Даже если это все надуманные проблемы, всеравно знать не помешает такие тонкости языка и компилятора
0
|
Супер-модератор
![]() ![]() |
||||||||||||||||
10.08.2016, 14:13 | 10 | |||||||||||||||
![]() Решение
А на предупреждения компилятора тебя не учили обращать внимание? Он тебе сам покажет все места, где есть несоответствия:
-Sew в Параметры проекта -> Компилятор -> Параметры пользователя, то код вообще не будет компилироваться, пока все подобные предупреждения не будут исправлены.
1
|
10.08.2016, 14:13 | |
Помогаю со студенческими работами здесь
10
Константа типа short
Какого типа это уравнение и как его решить - 2
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |