>백엔드 개발 >PHP 튜토리얼 >将16进制转换成10进制整数

将16进制转换成10进制整数

WBOY
WBOY원래의
2016-06-23 13:56:221745검색

双字节十六进制如何转换成十进制形式?
比如: 0xFFFFFFBF;
hexdec 函数转换会当4字节处理


回复讨论(解决方案)

$s = 0xFFFFFFBF;echo $s; //4294967231$s = 'FFFFFFBF';echo hexdec($s);//4294967231

不知道你想做什么?
你示例的是 4 字节数据

还是这个意思?
$n = 0xFFFFFFBF;$s = pack('L', $n);echo bin2hex($s), PHP_EOL;print_r(unpack('n*', $s));
bfffffff
Array
(
    [1] => 49151
    [2] => 65535
)

这个值转换出来应该是 -65,php弱类型会自动当作一个长整型处理,你看下windows计算器

$n = 0xFFFFFFBF;$s = pack('L', $n);print_r(unpack('l', $s));
Array
(
    [1] => -65
)

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.