十六进位转十进位
在浏览器里把十六进位转成十进位,采用任意精度运算,所以 64 比特的十六进位值也能精确换算。
在你的浏览器中运行
请输入一个数字。
一般转换器坏掉的地方
大的数字通常就是用十六进位写下来的,所以十六进位转十进位正是精度损失会现形的地方。
一个 16 位数的十六进位值——也就是 64 比特——已经超过 JavaScript 数字能精确表示的范围。
0xFFFFFFFFFFFFFFFF 是 18446744073709551615,而用 parseInt 做的转换器会给你
18446744073709552000,最后四位是凭空捏造的。
这里用的是任意精度整数,所以输入多长,答案都是精确的。
可以贴什么进来
0x 前缀可有可无,大小写没差,数字之间的底线或空白会被忽略——所以 0xDEAD_BEEF、
DEADBEEF 和 de ad be ef 都是同一个值。
不是十六进位数字的字元会被指名回报,而不是被跳过。
把十六进位值当成有号数来读
十六进位出现的场合通常都跟宽度有关,所以转换也会在数值放得下的前提下,显示 8、16、32、 64 比特的二补数读法。
0xFF 当成无号字节是 255,当成有号的则是 −1。0x80000000 无号是 2147483648,当成
32 比特有号整数则是 −2147483648——那个著名的、没有对应正数的值。
颜色是另一回事
像 #1a2b3c 这样的十六进位颜色,是红、绿、蓝三个各自独立的字节值,不是一个数字。把它
当成单一数值换算会得到 1715004,算术上正确但毫无用处。那种需求请用颜色相关的工具。
没有任何上传
在这个页面里转换。