进位制是什么意思讲一下数学-查字典问答网
分类选择

来自冯水华的问题

  进位制是什么意思讲一下数学

  进位制是什么意思讲一下数学

3回答
2020-05-04 19:02
我要回答
请先登录
郝志伟

  进制

  进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

  分享

  概念

  进位制/位置计数法是一种记数方式,故亦称进位记数法/位值计数法,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。

  对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),也可以用八进制表示为71(8)、用十六进制表示为39(16),它们所代表的数值都是一样的。

  数制也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。计算机是信息处理的工具,任何信息必须转换成二进制形式数据后才能由计算机进行处理,存储和传输。

  位权概念

  对于形式化的进制表示,我们可以从0开始,对数字的各个数位进行编号,即个位起往左依次为编号0,1,2,……;对称的,从小数点后的数位则是-1,-2,……

  进行进制转换时,我们不妨设源进制(转换前所用进制)的基为R1,目标进制(转换后所用进制)的基为R2,原数值的表示按数位为AnA(n-1)……A2A1A0.A-1A-2……,R1在R2中的表示为R,则有(AnA(n-1)……A2A1A0.A-1A-2……)R1=(An*R^n+A(n-1)*R^(n-1)+……+A2*R^2+A1*R^1+A0*R^0+A-1*R^(-1)+A-2*R^(-2))R2

  (由于此处不可选择字体,说明如下:An,A2,A-1等符号中,n,2,-1等均应改为下标,而上标的幂次均用^作为前缀)

  举例:

  一个十进制数110,其中百位上的1表示1个10^2,既100,十位的1表示1个10^1,即10,个位的0表示0个10^0,即0。

  一个二进制数110,其中高位的1表示1个2^2,即4,低位的1表示1个2^1,即2,最低位的0表示0个2^0,即0。

  一个十六进制数110,其中高位的1表示1个16^2,即256,低位的1表示1个16^1,即16,最低位的0表示0个16^0,即0。

  可见,在数制中,各位数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,我们称这关系为数的位权。

  十进制数的位权是以10为底的幂,二进制数的位权是以2为底的幂,十六进制数的位权是以16为底的幂。数位由高向低,以降幂的方式排列。

  进数转换

  1.二进制数、十六进制数转换为十进制数(按权求和)

  二进制数、十六进制数转换为十进制数的规律是相同的。把二进制数(或十六进制数)按位权形式展开多项式和的形式,求其最后的和,就是其对应的十进制数——简称“按权求和”.

  例如:把(1001.01)2二进制计算。

  (1001.01)2

  =8*1+4*0+2*0+1*1+0*(1/2)+1*(1/4)

  =8+0+0+1+0+0.25

  =9.25

  把(38A.11)16转换为十进制数

  (38A.11)16

  =3×16的2次方+8×16的1次方+10×16的0次方+1×16的-1次方+1×16的-2次方

  =768+128+10+0.0625+0.0039

  =906.0664

  2.十进制数转换为二进制数,十六进制数(除2/16取余法)

  整数转换.一个十进制整数转换为二进制整数通常采用除二取余法,即用2连续除十进制数,直到商为0,逆序排列余数即可得到――简称除二取余法.

  例:将25转换为二进制数

  25÷2=12余数1

  12÷2=6余数0

  同理,把十进制数转换为十六进制数时,将基数2转换成16就可以了.

  例:将25转换为十六进制数

  25÷16=1余数9

  1÷16=0余数1

  所以25=(19)16

  3.二进制数与十六进制数之间的转换

  由于4位二进制数恰好有16个组合状态,即1位十六进制数与4位二进制数是一一对应的.所以,十六进制数与二进制数的转换是十分简单的.

  (1)十六进制数转换成二进制数,只要将每一位十六进制数用对应的4位二进制数替代即可――简称位分四位.

  例:将(4AF8B)16转换为二进制数.

  4AF8B

  01001010111110001011

  所以(4AF8B)16=(1001010111110001011)2

  (2)二进制数转换为十六进制数,分别向左,向右每四位一组,依次写出每组4

2020-05-04 19:03:40
郝志伟

  (接上同上段)位二进制数所对应的十六进制数――简称四位合一位.

  例:将二进制数(000111010110)2转换为十六进制数.

  000111010110

  1D6

  所以(111010110)2=(1D6)16

  转换时注意最后一组不足4位时必须加0补齐4位

  数制转换的一般化

  1)R进制转换成十进制

  任意R进制数据按权展开、相加即可得十进制数据。例如:N=1101.0101B=1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4=8+4+0+1+0+0.25+0+0.0625=13.3125

  N=5A.8H=5*16^1+A*16^0+8*16^-1=80+10+0.5=90.5

  2)十进制转换R进制

  十进制数转换成R进制数,须将整数部分和小数部分分别转换.

  1.整数转换——---除R取余法规则:(1)用R去除给出的十进制数的整数部分,取其余数作为转换后的R进制数据的整数部分最低位数字;(2)再用R去除所得的商,取其余数作为转换后的R进制数据的高一位数字;(3)重复执行(2)操作,一直到商为0结束。例如:115转换成Binary数据和Hexadecimal数据(图2-4)所以115=1110011B=73H

  2.小数转换————---乘R取整法规则:(1)用R去乘给出的十进制数的小数部分,取乘积的整数部分作为转换后R进制小数点后第一位数字;(2)再用R去乘上一步乘积的小数部分,然后取新乘积的整数部分作为转换后R进制小数的低一位数字;(3)重复(2)操作,一直到乘积为0,或已得到要求精度数位为止。

  3.小数转换——整数退位法:举例:0.321d转成二进制,由于321不是5的倍数,用取余法、取整法可能要算很久,这时候我们可以采用整数退位法。原理如下:

  n为转成的二进制数的小数位数

  (x)10=(y)2

  (x)10*2^n=(y)2*2^n

  D=(x)10*2^n:计算10进制数,取整

  D→T转成2进制数

  (y)2=T/2^n=T*2^(-n),T退位,位数不足前端补零

  举例:

  0.321转成二进制数,保留7位

  0.321*2^7=41.088,取整数41

  41=32+8+1即100000+1000+1=101001

  退位,因只有6位而要求保留7位,所以是0.0101001

  用在线转换工具校验,正确

  and、or、xor运算

  所有进制的and(和)、or(或)、xor(异或)运算都要转化为二进制进行运算,然后对齐位数,进行运算,具体的运算方法和普通的and、or、xor相同,如:1and1=1,1and0=0,0and0=0,1or1=1,1or0=1,0or0=0,1xor1=0,1xor0=1,0xor0=0。就是一般的二进制运算。

  如:35(H)and5(O)=110101(B)and101(B)=101(B)=5(O)

2020-05-04 19:08:20
郝志伟

  (接上同上段)位二进制数所对应的十六进制数――简称四位合一位.

  例:将二进制数(000111010110)2转换为十六进制数.

  000111010110

  1D6

  所以(111010110)2=(1D6)16

  转换时注意最后一组不足4位时必须加0补齐4位

  数制转换的一般化

  1)R进制转换成十进制

  任意R进制数据按权展开、相加即可得十进制数据。例如:N=1101.0101B=1*2^3+1*2^2+0*2^1+1*2^0+0*2^-1+1*2^-2+0*2^-3+1*2^-4=8+4+0+1+0+0.25+0+0.0625=13.3125

  N=5A.8H=5*16^1+A*16^0+8*16^-1=80+10+0.5=90.5

  2)十进制转换R进制

  十进制数转换成R进制数,须将整数部分和小数部分分别转换.

  1.整数转换——---除R取余法规则:(1)用R去除给出的十进制数的整数部分,取其余数作为转换后的R进制数据的整数部分最低位数字;(2)再用R去除所得的商,取其余数作为转换后的R进制数据的高一位数字;(3)重复执行(2)操作,一直到商为0结束。例如:115转换成Binary数据和Hexadecimal数据(图2-4)所以115=1110011B=73H

  2.小数转换————---乘R取整法规则:(1)用R去乘给出的十进制数的小数部分,取乘积的整数部分作为转换后R进制小数点后第一位数字;(2)再用R去乘上一步乘积的小数部分,然后取新乘积的整数部分作为转换后R进制小数的低一位数字;(3)重复(2)操作,一直到乘积为0,或已得到要求精度数位为止。

  3.小数转换——整数退位法:举例:0.321d转成二进制,由于321不是5的倍数,用取余法、取整法可能要算很久,这时候我们可以采用整数退位法。原理如下:

  n为转成的二进制数的小数位数

  (x)10=(y)2

  (x)10*2^n=(y)2*2^n

  D=(x)10*2^n:计算10进制数,取整

  D→T转成2进制数

  (y)2=T/2^n=T*2^(-n),T退位,位数不足前端补零

  举例:

  0.321转成二进制数,保留7位

  0.321*2^7=41.088,取整数41

  41=32+8+1即100000+1000+1=101001

  退位,因只有6位而要求保留7位,所以是0.0101001

  用在线转换工具校验,正确

  and、or、xor运算

  所有进制的and(和)、or(或)、xor(异或)运算都要转化为二进制进行运算,然后对齐位数,进行运算,具体的运算方法和普通的and、or、xor相同,如:1and1=1,1and0=0,0and0=0,1or1=1,1or0=1,0or0=0,1xor1=0,1xor0=1,0xor0=0。就是一般的二进制运算。

  如:35(H)and5(O)=110101(B)and101(B)=101(B)=5(O)

2020-05-04 19:10:01

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •