不得不了解的计算机原理:什么是二进制、八进制、十六进制?

一、什么是二进制、八进制、十六进制?

  1. 二进制(Binary)

    • 是基于基数2的计数系统,只有两个符号:0和1。
    • 每前进一位,数值翻倍,即遵循“逢二进一”的原则。
    • 在计算机硬件和软件底层,二进制是最基本的形式,因为电子器件(如晶体管和逻辑门)能够简单地通过开(1)和关(0)状态来存储和处理信息。
  2. 八进制(Octal)

    • 基数为8的计数系统,使用0到7共8个数字表示数值。
    • 按照“逢八进一”的规则进行计数和进位。
    • 八进制常用于简化对二进制数的表示和记忆,因为在二进制中每3位可以对应一个八进制数,例如二进制数1011对应的八进制数是13
  3. 十六进制(Hexadecimal 或 Hex)

    • 基数为16的计数系统,除了使用0-9这些阿拉伯数字外,还引入了A-F(或a-f)这六个字母分别代表10至15的值。
    • 十六进制遵循“逢十六进一”的进位规则。
    • 十六进制尤其适合表示二进制数,因为每4位二进制数对应一个十六进制数,极大地简化了长二进制串的书写和阅读,例如二进制数10101010对应的十六进制数是AA

 二、进制之间如何转换?

  1. 十进制转其他进制

    • 十进制转二进制

      • 整数部分:使用“除2取余,逆序排列”的方法。将十进制数反复除以2,每次得到的余数按照从下往上的顺序排列即为二进制数。
      • 小数部分:使用“乘2取整,顺序排列”的方法。将小数部分乘以2,每次得到的整数部分按顺序排列,直到乘积足够小(达到精度要求或小数部分变为0)。
    • 十进制转八进制/十六进制

      • 整数部分:同样采取“除基取余,逆序排列”的方式,只不过这里的基变成了8或16,即每次除以8或16,然后将余数记录下来。
      • 小数部分转换较为复杂,通常会先转换成二进制小数,然后再将二进制小数按照每三位一组(八进制)或每四位一组(十六进制)转换。
  2. 二进制转其他进制

    • 二进制转十进制:使用“按权展开”法,二进制数的每个位上的数字乘以其所在位置的权重(从右到左,权重分别是2^0, 2^1, 2^2, ...),然后求和即可。
    • 二进制转八进制/十六进制
      • 直接将二进制数每3位或4位分为一组,然后将每组转换为其对应的八进制或十六进制数。
  3. 八进制/十六进制转十进制

    • 同样采用“按权展开”法,只不过此时的权重分别为8^0, 8^1, 8^2...(八进制)或16^0, 16^1, 16^2...(十六进制)。
  4. 八进制/十六进制互转

    • 先将它们各自转换为二进制,然后再由二进制转换为目标进制,或者直接按照每三位(八进制)或每四位(十六进制)转换为相应的二进制数,然后拼接在一起。

举例说明:

  • 将十进制数100转换为二进制:100 ÷ 2 = 50(余0),50 ÷ 2 = 25(余0),... 直到商为0,最后得到的余数逆序排列为1100100
  • 将二进制数1100100转换为八进制:每三位分一组,得到110010000,转换为八进制数为620

这里附上一个进制在线转换网站:进制转换器 - 在线二进制|八进制|十进制|16进制和任意进制转换工具 

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值