
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.02.2019, 14:21
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
Необходимо записать два значения типа Word в одно Cardinal. Насколько я понимаю, размерность позволяет: 2 байта в Word и 4 байта в Cardinal. Такой код работает только для Int64: Код: pascal 1. Для Cardinal выдает ошибку: Constant expression violates subrange bounds Что я неправильно делаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:26
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
amadeusЧто я неправильно делаю? Используешь знаковые целые вместо вордов. 35548 больше чем 32768 и в 16 бит не влазят. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:36
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:38
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
amadeus Код: pascal 1. Для Cardinal выдает ошибку: Constant expression violates subrange bounds Что я неправильно делаю? во-первых то, что (35548 shl 16) = 18446744071744258048 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:47
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
Спасибо, значит, ошибка не в формуле. Подстановка вместо чисел переменных типа Word решила проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:51
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Квейд, Dimitry Sibiryakov Десятичные 35548 - это шестнадцатеричные 8ADC, что меньше FFFF(65535). Сдвиг влево на 16 будет 8ADC 0000. Что в десятичной 2329673728. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 14:59
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Если хочется красоты то еще так можно: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 15:10
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
чо тут изобретать то? Windows.MakeLong(a, b: Word): Longint; Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 15:25
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
goldmi45Квейд, Dimitry Sibiryakov Десятичные 35548 - это шестнадцатеричные 8ADC, что меньше FFFF(65535). Сдвиг влево на 16 будет 8ADC 0000. Что в десятичной 2329673728. точно, это я со знаком накосячил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 15:25
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Мимопроходящий, Ничего что function MakeLong возвращает не cardinal? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 16:19
|
|||
|---|---|---|---|
|
|||
Записать два значения Word в Cardinal |
|||
|
#18+
13.02.2019 15:25, rgreat пишет: > Ничего что function MakeLong возвращает не cardinal? это в дельфях она так задекларирована. а возвращает она то, что нужно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 20:35
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Мимопроходящийэто в дельфях она так задекларирована. а возвращает она то, что нужно. cardinal и longInt - это разные вещи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 21:45
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
МимопроходящийWindows.MakeLong(a, b: Word): Longint; Тогда уж Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 21:56
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Polesov, И все это крякнеться если в проекте overflow check включен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.02.2019, 22:00
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
Код: pascal 1. 2. 3. 4. Хотя не. Это не крякнеться. 8-/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.02.2019, 13:37
|
|||
|---|---|---|---|
Записать два значения Word в Cardinal |
|||
|
#18+
PolesovТогда уж Код: pascal 1. rgreat И все это крякнеться если в проекте overflow check включен. Хотя не. Это не крякнеться. 8-/ Если бы крякалось, то можно было бы извратиться с дефайнами: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=58&mobile=1&tid=2039810]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
47ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 303ms |

| 0 / 0 |
