Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Sergey M. 05.02.2006 15:05 / 05.02.2006 15:09
В документации сказано, что 0хABCDEF -- это форма шестнадцатиричной записи целого числа (а целое число имеет свой диапазон)В обычном понимании, множество целых чисел - это линейно упорядоченное множество без верхней и нижней границ. Другими словами, "диапазон" у этого множества примерно от минус бесконечности до плюс бесконечности (если не ошибаюсь, ибо с математикой у меня в школе было не очень).
единица будет!ну можно вообще этот байт выкинуть, написать $a(0x6600000000), и Парсер все равно его обрежет.
0110 0110 1001 1111 0000 0000 0000 0000 0000 0000
----------^
...больше maxint. Поэтому парсер обрезает его. (Думаю, что не Парсер, а процессор, потому что физически нельзя положить 40 разрядов на 32-разрядную шину)ну в итоге Парсер кладет все это дело в double, есть подозрение что там разрядов поболее будет.
^if(0x9F000000 is double){sure, it is}допускаю возможность что все это является результатом некой "оптимизации", и "фича" оставлена с надеждой на то что никто об нее не споткнется. Вобщем, мое дело предупредить товарищей по несчастью - "осторожно, тут ступенька!" :)