进制转换器
在二进制、八进制、十进制、十六进制以及 2 到 36 之间的任意进制间相互转换——并提供逐位的位值分解,展示每一位数字的贡献。
- Dec
- 255
- Hex
- FF
计算器
- 二进制(基数 2)
- 11111111
- 八进制(基数 8)
- 377
- 十进制(基数 10)
- 255
- 十六进制(基数 16)
- FF
- 基数 36
- 73
二进制位栅格
位值分解(基数 10)
| 数字 | 数值 | 位置 | 基数^位置 | 贡献值 |
|---|---|---|---|---|
| 2 | 2 | 2 | 10^2 = 100 | 200 |
| 5 | 5 | 1 | 10^1 = 10 | 50 |
| 5 | 5 | 0 | 10^0 = 1 | 5 |
| 合计 | 255 | |||
关于此计算器
本计算器可在二进制(2 进制)、八进制(8 进制)、十进制(10 进制)、十六进制(16 进制)以及 2 到 36 的任意自定义进制之间转换任何非负整数。输入一个数字,选择它的源进制,工具便会即时显示在四种标准进制下的等价值,并附上逐位的位值分解。
如何解读你的结果
顶部的四个结果框以二进制、八进制、十进制和十六进制显示同一个数值。其下方的位值分解表说明了每一位如何对总和作出贡献:每一位都乘以源进制的“其位置次方”(从右侧的 0 开始计数),各乘积之和即为十进制值。请从左侧的最高有效位到右侧的最低有效位阅读此表。
计算方法
从源进制转换到十进制使用加权求和法则:每一位都乘以源进制的“其位置次方”,其中位置 0 是最右位。各乘积相加即得十进制值。要从十进制转换到任意目标进制,则采用反复整数除法:用目标进制去除该数,把余数记为下一位数字(从最低有效位到最高有效位),然后对商重复此过程,直到商为零。按相反顺序收集到的各位数字即为目标进制下的表示。对于十六进制,10–15 这些数值写作大写字母 A–F。
实例演示
在 10 进制(十进制)下输入 255 并转换。
二进制:11111111——八个 1,分别代表 128、64、32、16、8、4、2 和 1;八进制:377;十六进制:FF。四种形式都表示同一个整数 255。
常见问题
什么是数字进制(基数)?
数字进制,或称基数,规定了一个位值计数系统使用多少个不同的数字。10 进制使用数字 0–9,二进制(2 进制)只使用 0 和 1,十六进制(16 进制)使用 0–9,然后用 A–F 表示 10–15 这些值。每一位的位置决定其权重:最右位的权重为 base^0 = 1,下一位为 base^1,依此类推。
为什么十六进制在计算机领域如此常见?
一个十六进制数字恰好表示四个二进制位(一个半字节 nibble),所以两个十六进制数字可以紧凑地表示一个字节(8 位)。内存地址、颜色代码和加密哈希通常都用十六进制书写,因为它比一长串 0 和 1 易读得多。
怎样手动把二进制转换为十进制?
写出二进制数,然后为每一位赋予其位值权重——最右位的权重为 2^0 = 1,下一位为 2^1 = 2,再下一位为 2^2 = 4,依此类推。把每一位(0 或 1)乘以其权重并把乘积相加。例如,二进制 1010 = 1×8 + 0×4 + 1×2 + 0×1 = 10。
16 以上的进制在实践中有哪些用途?
32 进制和 36 进制出现在短链接、内容哈希和序列号编码中,因为它们仅用字母和数字就能在更少的字符里塞进更多信息。64 进制(此处未包含,因为它使用了两类符号)常用于电子邮件和 Web API 中的二进制到文本编码。
为什么不支持小数和负数?
位值小数需要一个基数点和额外一层转换规则,而有符号整数则需要一种因语境而异的符号约定(二进制补码、原码等)。本工具专注于核心转换场景——非负整数——以便在 2 到 36 的所有进制下都保持结果无歧义。
资料来源
- xlinux.nist.gov/dads
- www.khanacademy.org/math/algebra-home/alg-intro-to-algebra/algebra-alternate-number-bases/v/number-systems-introduction
由 YouCalc 团队审核 · 最近审核
发现翻译问题、计算问题或有任何建议?欢迎告诉我们。