二进制、八进制、十进制、十六进制之间的转换
转自百度经验:https://jingyan.baidu.com/article/495ba84109665338b30ede98.html
一、进制的英文简写
二进制是Binary,简写为B
八进制是Octal,简写为O
十进制为Decimal,简写为D
十六进制为Hexadecimal,简写为H
二、二进制与十进制之间的转换
1、十进制转二进制(正整数)
方法为:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。读数要倒叙读。
2、十进制转二进制(小数)
小数:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零。
如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数,即读数要顺序读。
0.125 转二进制
第一步,将0.125乘以2,得0.25,则整数部分为0,小数部分为0.25;
第二步, 将小数部分0.25乘以2,得0.5,则整数部分为0,小数部分为0.5;
第三步, 将小数部分0.5乘以2,得1.0,则整数部分为1,小数部分为0.0;
第四步,读数,从第一位读起,读到最后一位,即为0.001。
积 整数部分
0.125 x 2 = 0.25 0
0.25 x 2 = 0.5 0
0.5 x 2 = 1.0 1
150.125 转二进制10010110.001
0.45 转二进制(保留到小数点第四位)
第一步,将0.45乘以2,得0.9,则整数部分为0,小数部分为0.9;
第二步, 将小数部分0.9乘以2,得1.8,则整数部分为1,小数部分为0.8;
第三步, 将小数部分0.8乘以2,得1.6,则整数部分为1,小数部分为0.6;
第四步, 将小数部分0.6乘以2,得1.2,则整数部分为1,小数部分为0.2; 算到这一步就可以了,因为只需要保留四位小数
第五步, 将小数部分0.2乘以2,得0.4,则整数部分为0,小数部分为0.4;
第六步, 将小数部分0.4乘以2,得0.8,则整数部分为0,小数部分为0.8;后面会一直循环重复
第七步, 将小数部分0.8乘以2,得1.6,则整数部分为1,小数部分为0.6;
。。。。。。
读整数不分,从第一位读起,读到最后一位,即为0.0111。
3、二进制转十进制
方法为:把二进制数按权展开、相加即得十进制数。
三、二进制与八进制之间的转换
1、二进制转八进制
方法为:2的三次方等于8,因此3位二进制数按权展开相加得到1位八进制数。(注意事项,3位二进制转成八进制是从右到左开始转换,不足时补0)。
2、八进制转成二进制
方法为:八进制数通过除2取余法,得到二进制数,把每个八进制数转换为3个二进制,不足时在最左边补零。
四、二进制与十六进制之间的转换
1、二进制转十六进制
方法为:与二进制转八进制方法近似,八进制是取三合一,十六进制是取四合一。(2的四次方等于16,4位二进制转成十六进制是从右到左开始转换,不足时补0)。
2、十六进制转二进制
方法为:十六进制数通过除2取余法,得到二进制数,对每个十六进制数转换为4个二进制,不足时在最左边补零。
五、十进制与八进制与十六进制之间的转换
1、十进制转八进制或者十六进制有两种方法
第一:间接法:把十进制转成二进制,然后再由二进制转成八进制或者十六进制。这里不再做图片用法解释。
第二:直接法:把十进制转八进制或者十六进制按照除8或者16取余,直到商为0为止
2、八进制或者十六进制转成十进制
方法为:把八进制、十六进制数按权展开、相加即得十进制数。
六、十六进制与八进制之间的转换
八进制与十六进制之间的转换有两种方法
第一种:他们之间的转换可以先转成二进制然后再相互转换。
第二种:他们之间的转换可以先转成十进制然后再相互转换。
七、总结
1、十进制转换成二、八、十六进制
十进制转二进制(正整数)
正整数:十进制数除2取余法,读数要倒叙读。
小数:小数乘2取整法,读数要顺序读。
十进制转八进制
十进制数除8取余法,读数要倒叙读。
十进制转十六进制
十进制数除16取余法,读数要倒叙读。
2、二、八、十六进制转十进制
把各个进制数按权展开、相加即得十进制数。 注意: 二进制的权是 2的0、1、2、3...次幂 八进制的权是 8的0、1、2、3...次幂 十六进制的权是 16的0、1、2、3...次幂
3、二进制转换成八、十六进制
二进制转八进制
2的三次方等于8,因此3位二进制数按权展开相加得到1位八进制数,3位二进制转成八进制是从右到左开始转换,不足时补0。
二进制转十六进制
2的四次方等于16,因此4位二进制数按权展开相加得到1位十六进制数,4位二进制转成十六进制是从右到左开始转换,不足时补0。
4、八、十六进制转成二进制
八进制转二进制
将每一位八进制数通过除2取余法,得到二进制数,对每个八进制数转换为3个二进制,不足时在最左边补零。
十六进制转二进制
将每一位十六进制数通过除2取余法,得到二进制数,对每个十六进制数转换为4个二进制,不足时在最左边补零。
八、字节单位之间的换算
位(bit,缩写为b)是存储器的最小单位,可以表示一位二进制数。1字节(Byte,缩写为B)由8个位组成,即1Byte=8bit,是存储器的基本单位,通常被作为一个存储单元。通常情况下,把B称为字节、b称为字位、KB称为千字节、MB称为兆字节、GB称为吉字节。
1字位(bit)=1个二进制数
1字节(Byte)=8字位=8个二进制数
1B=8b
1KB=1024B
1MB=1024KB
1GB=1024MB