二进制转化为八进制(二进制怎么转化成十六进制)

给个提示

二进制0,1

八进制0,1,2,3,4,5,6,7

十进制0,1,2,3,4,5,6,7,8,9

十六进制0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

注意

在十六进制中,10~15用字母表示,字母可以大小写混合。如十六进制的10,可以用A或A表示;011可以用AB或者Ab来表示。

现在正式话题到了。看下面。

一、十进制与二进制、八进制和十六进制的互换

1.十进制->:八进制

将小数的整数部分连续除以8,直到商为0,将余数逆序排列得到。

8.将十进制数的小数部分连续相乘,直到小数为0或达到要求的精度,按正序排列即可得到乘积的整数部分。

举个例子

假设一个十进制数是83.12。

8 ÷ 8 = 10,余数是3。

10÷8=1,余数为2。

1÷8=0,余数为1。

0.12*8=0.96整数部分为0,小数部分为0.96。

0.96*8=7.68整数部分为7,小数部分为0.68。

0.68*8=5.44整数部分为5,小数部分为0.44。

0.44*8=3.52整数部分为3,小数部分为0.52。

这里省略了,下一步操作可以自己做,因为比如精度更短。

83.12=(八)123.0753

2.十进制->:十六进制

将小数的整数部分连续除以16,直到商为0,将余数逆序排列得到。

将十进制数的小数部分连续乘以16,直到小数为0或达到要求的精度,按正序排列即可得到乘积的整数部分。

举个例子

假设一个十进制数是299.12。

29 ÷ 16 = 18余数是B(11)

18÷16=1,余数为2。

1 ÷16=0,余数为1。

0.12*16=1.92整数部分为1,小数部分为0.92。

0.92*16=7.68整数部分是E(14),小数部分是0.72。

0.72*16=5.44整数部分是B(11),小数部分是0.52。

299.12=(十六)12b.1eb

3.十进制->:二进制

将小数的整数部分连续除以2,直到商为0,将余数逆序排列得到。

2将十进制数的小数部分连续相乘,直到小数为0或达到要求的精度,按正序排列即可得到乘积的整数部分。

举个例子

假设一个十进制数是3.25。

3÷2= 1余数是1。

1 ÷2=0,余数为1。

0.25*2=0.5整数部分为0,小数部分为0.5。

0.5*2=1整数部分为1,小数部分为0。

(十)299.12=(二)11.01

摘要

其实十进制换算成二进制、八进制、十六进制大致相同,二进制、八进制、十六进制换算成十进制也是如此。

四、二、八、十六进制->:十进制

将二进制数(或八进制或十六进制数)以位权的形式展开成多项式和的形式,得到最终的和。

举个例子

假设二进制数是1111。

1*2的三次方等于8。

1*2的二次方等于4。

1*2的一次幂等于2。

1*2的零次方等于1。

8+4+2+1=15

即(2) 1111= (10) 15

注意,最大n是数字的总数-1,然后幂依次递减,直到达到0的幂。比如二进制1111,最大n次方是4-1=3,然后依次递减,最后达到0次方。八进制和十六进制也是如此。

假设八进制数是123。

1*8的二次方等于64。

2*8的幂等于16。

3*8的零次方等于3。

64+16+3=83

即(八)123=(十)83

假设十六进制数是12B。

1*16的二次方等于256。

2*16的幂等于32。

1 * 16的0次方等于11。

256+32+11=299

即(十六)12B=(十)299。

二。八。十六进制和二进制之间的转换

1.间接方法

将二进制转换为十进制,然后转换为八进制或十六进制。可以看上面十进制的转换,自己试试。

2.直接教学法

定理1:将三位二进制转换为一位八进制,反之,将一位八进制转换为三位二进制;

定理2:将四位二进制转换为一位十六进制,反之,将一位十六进制转换为四位二进制。

定理3:如果位数不够,整数部分在最左边补0,小数部分在最右边补0;

示例:

二进制到八进制和十六进制

假设二进制数是1011001.1101011。

010 |101.101|010 |是分隔符。

剩下的就像把二进制转换成十进制一样。

把每三位数作为一个整体,计算数值,最后连起来。

比如010

0*2的二次方等于0。

1*2的一次幂等于2。

0*2的零次方等于0。

因此010=2

还要算101(值5),最后连接。

(2) 10101.10101 = 010 |101.101|010 = (8) 25.52

同理,只要把每四位作为一个整体,计算值,最后连起来就可以了。

(2)11011011.1101111 = 1101 | 1011.1101 | 1111 =(16)DB。DF

和八进制,十六进制到二进制,反之亦然。

16)d | b | d | f = 1101 | 1011.1101 | 1111 =(2)4000000000005 . 1160001

摘要

八的二的三次方,所以需要是二进制的3位数;16的2的4次方,所以在二进制中需要4位,所以32位系统在二进制中应该需要5位,也就是在N进制中,其中N是2的x次方,二进制需要x位。

如有错误,请注明。

如有侵权,请联系删除。

写在最后

今天到此为止~

后续我会发布更多的项目源或者学习资料。希望大家保持关注,有问题给我留言。

不管你是新职业还是初学者还是进阶,如果你想学编程~

【值得注意】点击进入我的【C/C++源码学习群】

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

本文来自网络,若有侵权,请联系删除,作者:马龙,如若转载,请注明出处:

发表回复

登录后才能评论