进制转换计算器
将整数转换为二进制、八进制、十进制和十六进制。
如何使用此进制转换计算器
- 1 输入整数
在“整数”字段中输入一个非负整数(例如 255 或 4096)。
- 2 查看二进制值
二进制结果显示了以 2 为基数的表示形式。
- 3 查看八进制和十六进制
查看八进制和十六进制结果以获取更简洁的表示。
- 4 验证十进制
十进制输出确认了原始值,以便进行交叉核对。
此进制转换计算器的工作原理
此进制转换计算器将十进制(10 进制)整数转换为二进制(2 进制)、八进制(8 进制)和十六进制(16 进制)——这是计算中最常用的四种数制。每种位值计数系统的工作原理都相同:每个数位代表基数的连续幂,数值是每个数字与其位置权重的乘积之和。进制转换是底层编程、数字逻辑设计、网络工程(MAC 和 IPv6 地址)、CSS 颜色代码、Unix 文件权限掩码以及调试期间内存地址检查中的基本操作。
除基取余法:将 N 除以目标基数 R,记录余数,用商重复此过程直到商为 0,然后逆序读取余数 将十进制数 255 转换为二进制、八进制和十六进制。二进制 (R = 2):255 ÷ 2 = 127 余 1,127 ÷ 2 = 63 余 1,63 ÷ 2 = 31 余 1,31 ÷ 2 = 15 余 1,15 ÷ 2 = 7 余 1,7 ÷ 2 = 3 余 1,3 ÷ 2 = 1 余 1,1 ÷ 2 = 0 余 1。从下往上读取余数:11111111。八进制 (R = 8):255 ÷ 8 = 31 余 7,31 ÷ 8 = 3 余 7,3 ÷ 8 = 0 余 3 → 377。十六进制 (R = 16):255 ÷ 16 = 15 余 15 (F),15 ÷ 16 = 0 余 15 (F) → FF。
十进制 4096 → 二进制 1000000000000,八进制 10000,十六进制 1000。有助于理解 4 KiB = 4096 字节。
十进制 15 → 二进制 1111,八进制 17,十六进制 F。每个十六进制数字正好对应四个比特;F = 1111。
- ✓ 输入必须是非负整数(零或正整数)。小数和负数需要扩展算法(例如有符号二进制的补码),这超出了本工具的范围。
- ✓ 大于 9 的十六进制数字使用大写字母 A–F 表示,遵循大多数编程语言、RFC 和硬件文档的惯例。
- ✓ 输出中省略前导零。对于固定宽度的表示(例如 8 位或 32 位二进制),请手动将结果填充到所需宽度。
- ✓ 计算器仅接受非负整数。拒绝大于 2^53 − 1(JavaScript 的 Number.MAX_SAFE_INTEGER)的数值,以确保显示的数字保持精确。
- 每个十六进制数字对应四个二进制位 (bits),每个八进制数字对应三个二进制位。一旦记住了 16 种半字节模式,这种关系就能让十六进制、八进制和二进制之间的心算转换变得非常迅速。
- 值得记忆的常用值:0xFF = 255,0x100 = 256,0xFFFF = 65535,0xFFFFFFFF = 4,294,967,295(最大无符号 32 位整数)。
- Unix 文件权限使用八进制:755 表示 rwxr-xr-x(所有者读/写/执行,组和其他人读/执行)。每个八进制数字编码三个权限位。
- CSS 十六进制颜色代码是三个连续的十六进制字节值,分别代表红、绿、蓝通道 —— 例如,#FF8800 表示 255 红、136 绿、0 蓝。
- MDN — Number.MAX_SAFE_INTEGER — 浏览器运行时使用的安全整数限制
- RFC 4291 — IP 第 6 版寻址架构 — IPv6 的十六进制表示法
了解计算机中的数制系统
每个位值制记数系统都使用一个基数(Radix),并根据位置为每个数字分配权重。在十进制(基数 10)中,最右侧是个位,接着是十位、百位。二进制(基数 2)仅使用 0 和 1,直接对应晶体管的开/关状态。八进制(基数 8)每位对应三个比特,十六进制(基数 16)每位对应四个比特,并用 A–F 表示 10–15。进制转换采用除基取余法:将数字除以目标基数,记录余数,用商重复此过程直到为零,最后逆序排列余数。这是编程中进制转换的核心算法。
开发者进行进制转换的实际应用场景
开发者在检查内存转储、调试位运算、解析文件权限和处理颜色代码时会用到进制转换。Unix 文件权限(如 755)是八进制:每个数字代表所有者、属组和其他人的读/写/执行权限。CSS 十六进制颜色(如 #FF8800)由三个十六进制字节组成。IPv6 地址采用十六进制。位掩码和标志常以十六进制表示以提高可读性(如 0xFF 代表字节掩码)。在调试底层代码或网络协议时,在十进制、十六进制和二进制间转换能快速揭示底层的位模式。
进制转换计算器常见问题
为什么在计算中使用二进制、八进制和十六进制? +
二进制直接映射到晶体管的开/关状态,使其成为硬件的母语。八进制和十六进制是二进制的紧凑简写 —— 一个十六进制数字代表恰好四个位,一个八进制数字代表三个位 —— 因此程序员使用它们来比长二进制字符串更简洁地表达地址、位掩码和颜色代码。
如何进行反向转换(例如,十六进制转十进制)? +
将每个数字乘以其所在位置的基数幂,然后将结果相加。例如,十六进制 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 十进制 419。
遇到非常大的数字会怎样? +
该计算器仅接受最高达 JavaScript 安全整数限制的数值:2^53 − 1 (9,007,199,254,740,991)。更大的数字将被拒绝,因为它们在浏览器中可能会丢失最低有效位。
我可以转换负数或分数吗? +
此工具处理非负整数。在计算中,负整数通常使用固定位宽的补码表示,而分数值使用 IEEE 754 浮点编码——这两者都需要此计算器未收集的额外参数。
为什么 0x 前缀出现在代码中,但没有出现在输出中? +
0x 前缀(以及二进制的 0b,八进制的 0o)是特定于语言的字面量语法,用于告知编译器或解释器预期的进制。计算器输出不带前缀的原始数字字符串,以便在任何上下文中使用。
此结果仅供参考,重要决策请咨询专业人士。
输入内容将保留在浏览器中,除非未来的功能另有明确说明。
相关开发者计算器
探索相关计算器以比较结果和假设。
颜色转换器
即时转换 HEX、RGB 和 HSL 颜色格式。
JSON 格式化工具
验证并美化打印 JSON,同时进行结构分析。
UUID 生成器
立即生成随机 UUID v4 标识符。
子网 / CIDR 计算器
估算子网掩码、网络地址、广播地址和可用主机。
Epoch 时间转换器
将 Unix 时间戳转换为 UTC 日期,或将日期转换为 Epoch 秒数。
房贷还款计算器
估算每月房贷还款额、利息及代管式住房成本。