二进制转化为八进制(二进制怎么转化成十六进制)
给个提示
二进制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++源码学习群】
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。系信息发布平台,仅提供信息存储空间服务。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。
本文来自网络,若有侵权,请联系删除,作者:马龙,如若转载,请注明出处: