二进制、八进制、十进制、十六进制互转
同一个数字可以写成不同进制——二进制(base 2)、八进制(8)、十进制(10)、十六进制(16)——但表示的是同一个值。程序员每天在它们之间切换:内存地址和颜色用十六进制,位标志用二进制,其他都用十进制。
本工具支持在四种进制之间任意输入即可实时同步另外三个。双向、本地、不联网。
十进制: 255二进制: 11111111
八进制: 377
十六进制: FF十六进制: 1A2B3C十进制: 1715004
八进制: 6425474
二进制: 000110100010101100111100JavaScript 安全整数上限:2^53 - 1,约 9.007 × 10^15。超过后精度会丢失。需要任意精度(长哈希、RSA 级别整数)请用支持 BigInt 的工具或语言。
十进制输入支持,会显示负号。二进制 / 十六进制按自然数表示,不做二进制补码——所以 -5 不会显示成 FFFFFFFB。需要定宽整数的补码请用专门工具,那是另一套概念。
只支持整数。跨进制的小数表示(尤其二进制)会很反直觉——十进制的 0.1 在二进制里是无限循环。要看浮点内部表示请用专门的 IEEE 754 可视化工具。
为了消除歧义:0x1A 一定是十六进制,单写 1A 容易看错。C、JavaScript、Python 都支持 0x 前缀,新版本语言标准里二进制用 0b。本工具因为字段本身已经表明进制,所以省略前缀。
本工具不引入位宽概念,数就是数。二进制补码(如 16 位有符号下 FFFF = -1)是 CPU 和数据类型的约定;本工具显示的是每种进制下的非负整数表示。