APP下载

浅谈数制转换

2019-10-21胡耀龙

关键词:权值

胡耀龙

摘要:计算机领域中,存在多种进制数。本文就二进制数与十进制数、八进制数与十进制数、 二进制数与八进制数、二进制数与十六进制数如何转换进行说明。

关键词:数制;权值;余数

在日常生活中常常用到十进制数来表述数量。即逢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]严剑. 计算机应用基础项目实训教程. 高等教育出版社.

猜你喜欢

权值
一种基于MMTD与相似性算法的病毒检测算法
应用型本科高校教师评价体系的权值研究
一种基于遗传算法的极限学习机改进算法研究
离差最大化赋权的蚁群聚类算法
简单个性化推荐策略研究
财务风险跟踪评价方法初探
基于洪泛查询的最短路径算法在智能交通系统中的应用
基于云编码算法的图像增强研究