parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

mashi 06.02.2006 12:05 / 06.02.2006 12:10

ну можно вообще этот байт выкинуть, написать $a(0x6600000000), и Парсер все равно его обрежет.
Для хранения целого числа типа int выделено всего 32 бита. Задав в шестнадцатеричном виде $a(0x6600000000) вы задаете значения 40-ка битов. Поэтому естественно старшие 8 обрезаются.
0110 0110 0000 0000 0000 0000 0000 0000 0000 0000

* * *
В документации Парсера ничего не говорится о типе unsigned int.

* * *
^if(0x9F000000 is double){sure, it is}
^if(0x66000000 is double){sure, it is}
^if(25 is double){sure, it is}
$a(25)
^if($a is double){sure, it is}
^if(^a.int(0) is double){sure, it is}{NO!}
^if(^a.int(0) is int){sure, it is}
Получается, что записав $a(25) мы получаем double.
Странно.