Если вы хотите увидеть, что происходит, вот инструкция printf, показывающая различные типы.
$i1 = 33963677451;
$i2 = 0xFFFFFFFFFFF;
printf("%b (%d, %f) & \n%b (%d, %f)\n = \n%b (%d, %f)",
$i1, $i1, $i1, $i2, $i2, $i2, $i1&$i2, $i1&$i2, $i1&$i2);
PHP переводит целые числа больше 32 бит в число с плавающей точкой. Похоже, что вы не можете выполнить эту операцию на поплавках.