当前位置: 首页 > 后端技术 > PHP

32位int溢出成正数

时间:2023-03-29 15:46:56 PHP

在32位系统平台(例如:windows)下,int是32位的,溢出后返回负数。得到这个负数,64位平台下/***uid32位负数转正数,PHP必须支持64位,否则不转换*@paramint$num*@returnint*/functionuid32FixNegative($num){if(PHP_INT_SIZE==4||!is_int($num)||$num>=0){返回$num;}$bin=decbin($num);返回bindec(substr($bin,-32));}