R进制,通常说法就是逢R进1.可以用的数为R个,分别是0.1.2.…,R-1.例如十进制数的基数为10.即可以用的数码个数为10.它们是0.1.2.3.4.5.6.7.8.9.二进制数的基数为2.可用的数码个数为2.它们是0和1.
为了把不同的进制数分开表示,避免造成混淆,采用下标的方式来表示一个数的进制,如十进制56表示为(56)10.八进制42表示为(42)8 ,由于人们常用的是十进制,所以十进制数的标识通常省略。
对于任意一个R进制数,它的每一位数值等于该位的数码乘以该位的权数。权数由一个幂Rk表示,即幂的底数是R,指数为k,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间数码的个数,而当该位位于小数点右边,k值是负值,其绝对值是该位和小数点之间数码的个数加1.
例如,十进制数123.56.其数值可计算如下:
123.56=1×102+2×101+3×100+5×10-1+6×10-2
又例如,二进制数l0100.01的值可计算如下:
l0100.01=1×24+1×22+1×2-2
1)R进制数转换成十进制数
按照上面的表示法,即可计算出R进制数对应的十进制值。
例:把(10000.010)2转换为十进制数。
(10000.010)2=1×24+1×2-2=16.25
例:把(734.05)8转换为十进制数。
(734.05)8=7×82+3×81+4×80+5×8-2=448+24+4+0.078125=476.078125
2)十进制转换为R进制
最常用的是"除以R取余法".例如,将十进制数94转换为二进制:
将所得的余数从低位到高位排列(1011110)2就是94的二进制数。
3)十进制小数转换为二进制小数
最常用的方法是将该十进制小数乘以2.取乘积的整数部分,得到转换后的二进制小数的第一位,然后将乘积部分的小数部分再乘以2.乘积的整数部分作为二进制小数的第二位,如此反复,直到乘积的小数部分为0.或者到指定要求的位数。
例如,把(0.73405)10转换为二进制数:
如果只取7位,则转换后为(0.1011101)2.
4)二进制与八进制、十六进制之间的转换
将二进制转换为八进制,只要将每3个二进制数转换为八进制即可;将二进制转换为十六进制,只要将每4个二进制数转换为十六进制即可。将八进制数转换为二进制,只要将每个八进制数转换为3位二进制数即可,将十六进制数转换为二进制,只要将每个十六进制数转换为4位二进制数即可;上面的转换都是以小数点作为计算数码个数的起点。八进制数和十六进制数要转换成任意进制数,可先转换为二进制数,然后再转换为目标进制。
例:把(734.05)8转换为二进制。
(734.05)8=(111 011 100.000 101)2
例:把(1BD.07)16转换为二进制。
(1BD.07)16=(0001 1011 1101.0000 0111)2