首頁 > 後端開發 > php教程 > PHP 16进制负数转10进制,如何实现

PHP 16进制负数转10进制,如何实现

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-06 20:26:14
原創
2211 人瀏覽過

例如
$a=-101;

通过PHP内置函数可将$a转为16进制
echo dechex(-101 & 0xff);
-----------
输出结果:9b

求大神讲解,php如何将9b,这样的负16进制数,转回10进制的-101

回复内容:

例如
$a=-101;

通过PHP内置函数可将$a转为16进制
echo dechex(-101 & 0xff);
-----------
输出结果:9b

求大神讲解,php如何将9b,这样的负16进制数,转回10进制的-101

-101 用 decbin 显示有32位。 & 0xff 只取了最低8位,高位都被截去了, 不能还原吧。

就 -101 而言,可以这么做

<code>$signed = unpack("l", pack("l", hexdec("ffffff9b")));
var_dump(reset($signed));</code>
登入後複製

hexdec — 十六进制转换为十进制

说明

number hexdec ( string $hex_string )

返回与 hex_string 参数所表示的十六进制数等值的的十进制数。 hexdec() 将一个十六进制字符串转换为十进制数。
hexdec() 会忽略它遇到的任意非十六进制的字符。

参数

hex_string
要转换的十六进制的字符串

返回值
hex_string 十进制的表示

相關標籤:
php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
怎麼學好php
來自於 1970-01-01 08:00:00
0
0
0
PHP擴充intl
來自於 1970-01-01 08:00:00
0
0
0
php數據獲取?
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板