在二进制、八进制、十进制和十六进制之间互相转换
计算机从根本上说,把一切都表示成二进制——一串串的0和1——但二进制对人来说读写起来很费劲,所以人们用其他几种进制作为更方便的简写形式。八进制(逢八进一)和十六进制(逢十六进一)是最常见的两种,之所以被选中,正是因为它们能以干净利落的机械方式和二进制互相转换。这个工具能把你输入的任意数字,不管是四种常见进制中的哪一种,一次性转换成其余所有进制。选好你输入的数字所在的进制,输入数值,每种表示形式立刻就会显示出来。
使用方法
这对做进制练习的学生、在日志文件里看到十六进制数值需要核对十进制的开发者,或者单纯好奇某个数字换成别的进制会长什么样的人来说都特别方便。
从下拉菜单里选择你输入的数字所用的进制——十进制、二进制、八进制或十六进制——然后在输入框里输入数值,点击转换。四种表示形式会一起显示出来:二进制、八进制、十进制和十六进制,你可以直接读出需要的那一个,不用再多一步操作。十六进制输入同时接受大写和小写的A到F字母,输出结果统一用大写显示,以保证清晰。
为什么会有八进制和十六进制
二进制数字很快就会变得很长——十进制的255写成二进制是11111111,一个不算大的数字却要用八位数字表示——这让它读、写、肉眼比对时都容易出错。八进制和十六进制的存在正是为了解决这个问题,因为这两个进制都是2的幂:8是2的3次方,16是2的4次方。这意味着每一个八进制数字恰好对应三位二进制数字,每一个十六进制数字恰好对应四位二进制数字,所以在二进制和它们之间转换,只是简单的分组练习,而不是真正的运算。把11111111从右往左每三位分一组,得到11 111 111,对应八进制的3、7、7,也就是377;把同样的数字每四位分一组,得到1111 1111,对应十六进制的F、F,也就是FF。
手动把十进制转换成其他进制
不用计算器把十进制数字转换成其他进制,方法是反复用目标进制去除,并记录每次的余数。把255转换成八进制:255 ÷ 8 = 31余7;31 ÷ 8 = 3余7;3 ÷ 8 = 0余3。把余数从最后一次除法读到第一次,得到377。同样的过程可以转换成任意进制——反复除以2得到二进制,除以16得到十六进制——这个工具正是为你同时对三种目标进制,瞬间完成这样的计算。
每种进制实际用在哪里
二进制是数字逻辑的原生语言,在讨论位运算、标志位和底层硬件行为时会直接用到。八进制在早期计算机时代曾经很重要,尤其是在字长是3的倍数的系统上,如今它仍然出现在Unix和Linux的文件权限表示法里,比如755这样的权限,用紧凑的八进制形式描述了所有者、群组和其他用户的读、写、执行权限位。十六进制在现代软件里是这两者中远远更常用的一个,出现在网页设计的颜色代码(#FF5733)、内存地址、错误代码里,也是调试工具里显示原始字节数据的一种紧凑方式,因为它每个数字对应四位二进制的关系,稍加练习就能相对容易地用肉眼转换。
一个跨越四种进制的实例
以十进制数字100为例。转换成二进制是1100100——通过反复除以2、把余数从下往上读得到。转换成八进制时,把这些二进制数字从右往左每三位分一组(1 100 100),得到1、4、4,所以十进制的100是八进制的144。转换成十六进制时,每四位分一组(0110 0100),得到6和4,所以十进制的100是十六进制的64。把100输进这个转换器、选择十进制作为输入进制,能一次性确认这三个结果,这是在面对一个更大、手算核对会很麻烦的数字之前,建立起对分组方法信心的好办法。反方向的转换原理完全一样:粘贴一个二进制、八进制或十六进制数值,选择对应的输入进制,工具就会用同样的分组和位值规则反向推导出其余三种表示形式,包括十进制值。这让它不管你手头的原始数字是哪种进制都同样好用,不用去记该用哪个转换公式对应哪一对进制,也不用在脑子里理清四套不同的除法和分组规则。
私密且即时
转换完全在你的浏览器中使用标准的整数运算完成,点击转换后结果即刻显示,你输入的任何数值都不会被发送到服务器、记录或分享。页面加载完成后即可离线使用,不管是做作业、调试还是纯粹好奇,随时都能应对进制转换问题,没有账户、不收费,也不限制你连续转换多少次。
Octal Converter FAQ
- What is octal (base 8)?
- Octal is a numeral system that uses 8 digits: 0 through 7. It is commonly used in computing as a compact representation of binary data, since each octal digit maps to exactly three binary digits.
- How do I convert decimal to octal?
- To convert a decimal number to octal, repeatedly divide the number by 8 and record the remainders. Reading the remainders from bottom to top gives the octal representation. For example, 255 ÷ 8 = 31 remainder 7, 31 ÷ 8 = 3 remainder 7, 3 ÷ 8 = 0 remainder 3, so 255 in decimal is 377 in octal.
- How does this tool handle hexadecimal input?
- This tool accepts standard hexadecimal input with digits 0–9 and letters A–F (case-insensitive). It converts your hex value to its decimal equivalent first, then derives binary and octal representations automatically.