胡耀龙
摘要:计算机领域中,存在多种进制数。本文就二进制数与十进制数、八进制数与十进制数、 二进制数与八进制数、二进制数与十六进制数如何转换进行说明。
关键词:数制;权值;余数
在日常生活中常常用到十进制数来表述数量。即逢10进1。除此之外,还存在其他数字进位制如八进制、十六进制等。在计算机中,由于电子元器件的特性,通常表达为“导通”与“不通”两种稳定的状态。因此,二进制的表示最为简单而且可靠。同时,二进制的运算规则也最为简单。
十进制具有10个记数符号,即数字0、1、2、3、4、5、6、7、8、9;而二进制只有两个记数符号,即数字0、1。二进制逢2进1,比如5就是2+2+1,二进制就用101表示。
一个数从一种计数制表示转换成另外一种计数制称为数制转换。
在任何进制的数值中,每个位置都有一个权值。
例1 十进制数1478的值
(1478)10=1×103+4×102+7×101+8×100,其中对应的权值为103、102、101、100。
例2 二进制数1101101的值。
(1101101)2=1×26+1×25+0×24+1×23+1×22+0×21+1×20。其中对应的权值为26、25、24、23、22、21、20。
如何将二进制转换为十进制?
把二进制数按位权形式展开成多项式和的形式,求其最后的和,就是二进制对应的十进制数————简称“按权求和”。
(10001)2=1×24+0×23+0×22+0×21+1×20
=16+0+0+0+1
=17
将十进制数转换成二进制数又是如何的?
一个十进制数转换为二进制数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到。下面将1986转换成二进制数
1986 /2=993余0;993/2=496余1;496/2=248余0
248/2=124余0;124/2=62余0;62/2=31余0
31/2=15余1;15/2=7余1 ;7/2=3余1;3/2=1余1
所以 结果(1986)10=(11111000010)2
如何将八进制数转换为十进制数?
把八进制数按位权形式展开成多项式和的形式。
例 (145)8=(?)10解N=1×82+4×81+5×80
=64+32+5
=101
即(145)8=(101)10
如何将十进制数转换为八进制数?
若将十进制数转换成八进制数,由于基数为8,依次除以8取余数即可。
例 (53)10=(?)8解 53/8=6余5
6/8=0余6
所以(53)10=(65)8
如何将二进制数转换为八进制数?
方法为:3位二进制数按权展开相加得到1位八进制数。
(3位二进制转成八进制是从右到左开始转换。不足时补0)
二进制数10100101
101对应1*22+0*21+1*20=5;100对应1*22+0*21+0*20=4
010对应0*22+1*21+0*20=2
八进制数转成二进制数
方法为:八进制数通过除2取余法,得到二进制数,对每个八进制数为3个二进制数,不足时在最左边补零。
八进制数245
2/2=1余0;1/2=0余1
4/2=2余0;2/2=1余0 ;1/2=0余1
5/2=2余1;2/2=1余0 ;1/2=0余1
對应的二进制数为010100101。
十六进制就是逢16进1
0,1,2,3,4,5,6,7,8,9,a ,b ,c ,d ,e ,f 十五个字符组成
二进制转换十六进制
十六进制换二进制的方法也类似,只要每组4位,分别对应8、4、2、1就行了,如分解为: 011111011011
运算为:0111 = 4+2+1 = 7
1101 = 8+4+1 = 13(由于10为a,所以13即d)
1011 = 8+2+1 = 11(由于10为a,所以11即b)
结果为:7db十六制数为7db
7对应0111;d对应1101;b对应1011
二进制数为011111011011。
参考文献:
[1]严剑. 计算机应用基础项目实训教程. 高等教育出版社.