84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
例如$a=-101;
通过PHP内置函数可将$a转为16进制echo dechex(-101 & 0xff);-----------输出结果:9b
求大神讲解,php如何将9b,这样的负16进制数,转回10进制的-101
业精于勤,荒于嬉;行成于思,毁于随。
-101 用 decbin 显示有32位。 & 0xff 只取了最低8位,高位都被截去了, 不能还原吧。
就 -101 而言,可以这么做
$signed = unpack("l", pack("l", hexdec("ffffff9b"))); var_dump(reset($signed));
hexdec — 十六进制转换为十进制
说明
number hexdec ( string $hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。 hexdec() 将一个十六进制字符串转换为十进制数。 hexdec() 会忽略它遇到的任意非十六进制的字符。
参数
hex_string 要转换的十六进制的字符串
返回值hex_string 十进制的表示
-101 用 decbin 显示有32位。 & 0xff 只取了最低8位,高位都被截去了, 不能还原吧。
就 -101 而言,可以这么做
hexdec — 十六进制转换为十进制
说明
number hexdec ( string $hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。 hexdec() 将一个十六进制字符串转换为十进制数。
hexdec() 会忽略它遇到的任意非十六进制的字符。
参数
hex_string
要转换的十六进制的字符串
返回值
hex_string 十进制的表示