Рассматриваем 64 битное число, big endian byte order в hex представлении записанном как CCD044A12FDB3E13
В linux php x64 реализует целочисленный int как 64 битовое знаковое число независимо от версии интерпретатора - соответственно подходит.
Согласно
синтаксису PHP шестнадцатеричная запись числа является беззнаковой, знак указывается явно. Число CC больше 7F - следовательно, в знаковом типе недостаточно разрядов (в int есть 63 разряда + бит знака, а требуется минимум 64 + знак) и число приводится к float
Если вы возьмёте 0x7cd044a12fdb3e13 - это число укладывается в 63 разряда + знак и будет помещено в int тип данных.
Если у вас машинное представление числа и его необходимо корректно разобрать - есть
unpack:var_dump(unpack('J', "\xCC\xD0\x44\xA1\x2F\xDB\x3E\x13")[1]);
Что даст искомый int(-3688372635733115373)
Плюс внимание на порядок байт. Что unpack позволяет учитывать.