本文共 1156 字,大约阅读时间需要 3 分钟。
R进制,通俗来说就是逢R进一,可以使用的数为R个,从0~R-1,例如二进制可以用的数为0,1。二进制:逢二进一,通常在二进制后面加上字母B或者下标2作为二进制的标识。B就是二进制的英文Binary system的首字母八进制:逢八进一,通常在八进制后面加上字母O或者小写的o,或者下标8作为八进制的标识,O是英文八进制octal system的首字母十六进制:逢十六进一,有十六个字符0-9、A~F,通常在十六进制后面加上H或下标16作为十六进制的标识,H就是十六进制的英文hex的首字母
对于任意一个R进制数,它的每一位数值等于该位的数值乘以该位的权数,权数是由R^k表示,k与该位和小数点之间的距离有关。当该位位于小数点左边,k值是该位和小数点之间的数码的个数,而当该位位于小数点右边,k为负值,其绝对值是该位和小数点之间数码的个数加1,也可以认为等于小数点后的第几位例如: 二进制:10100.01B,其数值计算如下: 10100.01B = 1*2^4+0*2^3+1*2^2+0*2^1+0*2^0+1*2^-2 =20.25 十六进制:8ABH计算如下 8ABH = 8*16^2+10*16+11*16^0 = 2219
十进制转化为R进制利用"初一R取余数法"。例如:2 | 94 余 02 | 47 余 12 | 23 余 12 | 11 余 12 | 5 余 12 | 2 余 0 1 余 1 然后将余数从下向上排列即可,得1011110 十进制小数利用乘2取整法转化为二进制小数 例如,将十进制小数0.43转化成二进制小数的过程如下(假设要求小数点后5位) 0.43 *2=0.86 取整 0 0.86 *2=1.72 取整 1 0.72 *2=1.44 取整 1 0.44 *2=0.88 取整 0 0.88 *2=1.76 取整1 从上向下排列得转化后的二进制小数 0.01101B 二进制在转化为十六进制是,可从小数点开始,往前每四位转化成对应的十六进制数即可,往后每四位转化成十六进制熟即可,不够四位的补0.例如: 10 1011.1111 1B = 2B.F8 H这个转换其实没什么技巧,就是把二进制的数据四个一组分开,0010 = 2,1011=11,1111=15,1000=8根据十六进制对应的数值得出结果 同理,二进制在转化为八进制是,可从小数点开始,往前每三位转化成对应的八进制数即可,往后每三位转化为八进制数即可,不够三位的补0即可,比如: 1 011.111 11B = 13.76 O 转换过程为 001 = 1,011 = 3,111 =7 , 110 = 6,最后的结果为 13.76
转载地址:http://jaxui.baihongyu.com/