RGB 颜色代码
color: #ff8800;color: rgb(255, 136, 0);每两个十六进制数字是一个字节(0-255),对应一个颜色通道。ff = 255,88 = 136,00 = 0。
在二进制、八进制、十进制和十六进制之间转换数字。
最后更新
Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。
进制转换器把用一种数制(二进制、八进制、十进制或十六进制)写的数字,改写成其他任意一种数制。开发者在读位掩码、调试颜色代码、解析协议数据包里的标志位、操作硬件寄存器,以及在 CSS、汇编、密码学等各种场景中进行十六进制和十进制互转时,都会用到它。
在不同进制之间,数字本身并没有变,变的只是它的表示方式。十进制的 255 在十六进制里是 0xFF,在二进制里是 0b11111111,在八进制里是 0o377。它们是同一个值的四种不同写法。
现代工具应该能处理大数而不丢失精度。JavaScript 普通的 parseInt 会悄悄地对超过 2⁵³ 的数进行舍入,这会在处理 64 位寄存器值、ID 和时间戳时引发难以察觉的 bug。靠谱的转换器在底层使用 BigInt,这样一个 256 位的十六进制值来回转换也能分毫不差。
0xCAFE 的二进制是 1100 1010 1111 1110,十六进制看起来轻松多了。123n)。根据你手上的数字,选择二进制、八进制、十进制或十六进制。
十六进制可以输入 ff 或 0xff,二进制可以输入 1010 或 0b1010。转换器会自动去掉前缀。
同一个数字的四种表示会立即全部显示出来。点击任意一个即可复制。
二进制按 4 位分组(1100 1010 1111 1110),十六进制按 2 个字符分组(CA FE)。查看位字段和内存转储时很有用。
四种进制下的常用参考值。下面用到的语法可以参考 JavaScript 的 BigInt 和数字字面量语法。
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 16 | 10000 | 20 | 10 |
| 32 | 100000 | 40 | 20 |
| 64 | 1000000 | 100 | 40 |
| 100 | 1100100 | 144 | 64 |
| 128 | 10000000 | 200 | 80 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
| 1024 | 10000000000 | 2000 | 400 |
| 65535 | 1111111111111111 | 177777 | FFFF |
color: #ff8800;color: rgb(255, 136, 0);每两个十六进制数字是一个字节(0-255),对应一个颜色通道。ff = 255,88 = 136,00 = 0。
5
0b101
第 0 位(读)为 1,第 2 位(执行)为 1,第 1 位(写)为 0。所以权限是“读 + 执行”。
Unix 文件模式(chmod)、功能开关和协议数据包,都会把多个布尔值编码成同一个整数里的不同位。二进制视图让这一点一目了然。
0xFFFFFFFFFFFFFFFF
18446744073709551615
这是 64 位无符号整数的最大值。JavaScript 普通的 parseInt 会丢失精度,而 BigInt 能准确处理。
0x10 和 10 看起来很像,但分别是 16 和 10,所以在代码里一定要加上进制前缀。parseInt(big, 16)。应该改用 BigInt('0x' + hex)。0xF 写成一个字节是 0x0F,不是 0xF0;对固定宽度的字段来说,前导零很重要。0xFFFF_FFFF 按无符号解读是 4294967295,按有符号(补码)解读是 -1。1010 为例:1·8 + 0·4 + 1·2 + 0·1 = 10。也可以直接粘贴到进制转换器里,立刻得到答案。255 ÷ 16 = 15 remainder 15 → FF。#ff8800)、内存地址、文件转储、MAC 地址、哈希值,以及大多数底层系统。0755)和一些 C 系语言的数字字面量中。每多一位,能表示的值的数量就翻一倍。8 位能表示 256 个值,16 位能表示 65,536 个,32 位能表示超过 40 亿个。这就是位掩码能在一个很小的数字里装下很多信息的原因。