Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
mashi 05.02.2006 00:43
Используя числовые литералы в шестнадцатиричной форме нужно заботиться о том что бы они имели ноль в старшем розряде. Потому что он зарезервирован для указания признака отрицательного числа.#################################################################0111 1111 1111 1111 1111 1111 1111 1111 = 2147483647 ( 0x7FFFFFFF)
#################################################################Поэтому записывая
$a(0x9F000000)имеем недопустимую единицу в саршем разряде
1001 1111 0000 0000 0000 0000 0000 0000 ---^В ашем примере числа 0х9Е000000 и 0хFF000000 обрезаются до максимального целого числа 0х7F000000 и поэтому они равны.