不同进制之间的转换[全网最全!!!]

前言

刚学习计算机组成原理的时候会遇到这个,一开始觉得这个转换挺简单的,然后做了做突然发现它还有带小数点的,而且4个进制之间随意的进行转换。搞得我头都大了,真是的啊!!!然后我闭关1小时,写出了这个总结,来让大家也逃出进制之间转换的苦海。

正文

1 转换成二进制

1.1 八进制 → 二进制

从左到右每一个八进制数转换成3位二进制数。
例如:75 转换成 二进制,先将7转换成111,再将5转换成101,所以75转换成二进制就是111101。

1.2 十进制 → 二进制

  • 整数部分
    十进制转化为二进制应该大家都会吧,我在这里也讲一下吧,老师是用的取余运算,我感觉这个有点复杂,就讲我自己平时怎么做的了。
    例如 10 转化为二进制,首先10=8+2,这里都转化成2的次幂形式,直接8的二进制位1000,然后加上2的二进制位0010,所以10的二进制数是1010。
    - 小数部分
    小数部分转化成二进制,就是乘2取整然后依照取整顺序输出。这里贴个图更好的理解。(图来源:菜鸟教程)
    这里贴个图更好的理解。(图来源:菜鸟教程)

1.3 十六进制 → 二进制

十六进制的类似于八进制,只是一位16进制数代表4位二进制数(其实也挺好理解的,就是4位二进制数的最大能表示15,刚好是没有16)

2 转换成八进制

2.1 二进制 → 八进制

相当于八进制转化成二进制的逆操作,整数部分从最低位开始,小数部分从最高位开始,每三位二进制数生成一位八进制数,不满3位的补0。
例如11101转化成二进制,首先将101转化成八进制5,再将011转化成八进制3,最后转换成了35。

2.3 十进制 → 八进制

  • 整数部分
    建议用间接法比较好,先转化成二进制,然后再转化成八进制。(多次试验的惨痛经验)
  • 小数部分
    和十进制小数部分转化成二进制差不多,只是这里是乘8取整。这里就不再过多解释了。

2.4 十六进制 → 八进制

也是建议用间接法,先转化成二进制,然后再转化成八进制,这我感觉是最简单的办法了,如果有更好的办法欢迎大家在评论区里评论。

3 转化成十进制

3.1 二进制 → 十进制

设n为二进制的当前位数,2^n-1代表每位的权重,转化时候只需要将每位乘以对应的权重,最后再全部加起来就行了。我这里举个例子,就会了。
请添加图片描述

3.2 八进制 → 十进制

和二进制转化为十进制大同小异,只是权重变成了8^n-1

3.3 十六进制 → 十进制

和二进制转化为十进制大同小异,只是权重变成了16^n-1

4 转化成十六进制

4.1 二进制 → 十六进制

和二进制转化为八进制大同小异,只是从左到右每4位转换成一位十六进制的数。这里不再多说了。

4.2 十进制 → 十六进制

建议先转化成二进制,然后再转化成十六进制。

4.3 八进制 → 十六进制

建议先转化成二进制,然后再转化成十六进制。不建议用取余运算。

总结

  • 转化成十进制的时候,只是每位乘以对应的权重,然后将所有的数加起来。权重根据几进制转化为十进制判断。
  • 八进制和十六进制之间的转换,建议先转换为中间二进制数,然后再进行转化,比较简单。
  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

徐锦桐

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

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

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

打赏作者

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

抵扣说明:

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

余额充值