2进制,8进制,16进制换算

首先大家要知道什么是进制
二进制:逢2进1,二进制2个数为0,1

八进制:逢8进1,八进制8个数位0,1,2,3,4,5,6,7 八进制数以数字0开头,在PYTHON语言中,0o是用来表示一个八进制常数

十进制:逢10进1,十进制10个数为0,1,2,3,4,5,6,7,8,9

十六进制:逢16进1,十六进制16个数为0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F。十六进制中出现的A,B,C,D,E,F 等价于 10,11,12,13,14,15。实际计算中需要进行转换。

十六进制数以数字0和字母x的组合0x或0X开头。其中字母x是不区分大小写的,即0x与0X等价
二进制转十进制
例子 二进制110转化十进制
我们从后往前算,0是第一位,1是第二位,1是三位

  1. 第0位 0 x 2^0 = 0;
  2. 第1位 1 x 2^1 = 2;
  3. 第2位 1 x 2^2 = 4;
  4. 读数,把结果值相加,0+2+4=6,即二进制的 110 转换为十进制等于 6
    十进制转二进制
    除2取余法。十进制数字无限的除以2,直至商等于0。每一次除2得到的商作为新的被除数继续除2,记录下余数。
    当商为0时开始读数,从最后一个记录的余数开始读,一直读到最前面的一个余数
    例如 6
    6➗2=3余0
    3➗2=1余1
    1➗2=0余1
    把上述计算的余数从后向前排列 110
    既十进制的 6 转换为二进制的等于 110
    十进制转十六进制
    除16取余法。十进制数字无限的除以16,直至商等于0。每一次除16得到的商作为新的被除数继续除16,记录下余数
    当商为0时开始读数,从最后一个记录的余数开始读,一直读到最前面的一个余数
    例如
    将十进制的 1963 转换为十六进制的步骤如下:
  5. 被除数 1963 除以16,商122余数为11,余数 11 对应十六进制的 B;
  6. 被除数 122 除以16,商7余数为10,余数 10 对应十六进制的 A;
  7. 被除数 7 除以16,商0余数为 7;
  8. 读数。最后一个记录的余数开始读,故读数结果为:7AB;
  9. 既十进制 1963 转 十六进制等于 7AB;
    十六进制转十进制
    将十六进制的 7AB 转换为十进制的,注意这里的A,B需要转换为10,11进行计算。步骤如下:
    同样我们从后往前看,B是第0位,A是第1位,7是第三位
  10. 第0位 B x 16^0 = 11 x 1 = 11;
  11. 第1位 A x 16^1 = 10 x 16 = 160;
  12. 第2位7 x 16^2 = 7 x 256 = 1792;
  13. 读数,把结果值相加,11+160+1792=1963;
  14. 即十六进制的 7AB 转换为十进制的等于1963;
    八进制转十进制
    例如:例如八进制数1507转换为十进制
    同样我们从后往前
    1.第0位7 x8^0=7
    2.第二位0 x8^1=0
    3.第三位5 x8^2=320
    4.第四位1 x8^3=839=512
    5.读数,把结果值相加,7+0+320+512=839;

839
104 7
13 0
1 5
0 1

十进制转八进制
①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。
②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以
8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。

例:将十进制数796.703125转换为八进制数

先计算整数部分
796
796➗8商99余4
99➗8商12余3
12➗8商1余4
1➗8商0余1
我们把每次计算的余数从后往前排
所以整数部分位1434

再计算小数部分
0.703125✖️8=5.625
取整数位5
剩下的小数部分位0.625
0.625✖️8=5
这时候小数位没了
所以计算后的小数位是0.55

因此,得到结果十进制796.703125转换八进制为1434.55

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mh_Python_learn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值