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

start [/forum/topic.php?fid=58&fpage=82&tid=2039810]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 313ms |

| 0 / 0 |
