一、r进制
r进制数:逢r进1
二、r进制转换为十进制
举例:整数二进制0010。从右往左依次是:0,1,0,0。对应的位数依次是2的0次方,2的1次方等等。所以十进制数就是0*2^0+1*2^1+0*2^2+0*2^3=2
小数二进制.0100。从左往右依次是:0,1,0,0。对应的位数依次是2的-1次方,2的-2次方等等。十进制数是0*2^(-1)+1*2^(-2)+0*2^(-3)+0*2^(-4)=0.25
所以r进制数转换为十进制,先拆分,然后将拆分的数乘以r的n次方的和。
三、二进制转换为十六进制
每4个二进制位对应一个八进制位。
四、十进制转换为r进制
对整数部分,采用除基取余法。
对小数部分,采用乘基取整法。但是需要注意,不是所有的小数都可以被计算机准确的表示。例如二进制0-1上的小数有0.1,0.01,0.001,0.0001等等,有无数个小数。而计算机存储的数字永远是有限的。
举例:十进制整数101.0625转换二进制。
第一步:将101.0625拆分成101和.0625
第二步:对101(十进制)求二进制
因为转换为二进制,所以基是2。
101/2=50...1,余数为1,
50/2=25...0,余数为0,
25/2=12...1,余数为1,
12/2=6...0,余数为0,
6/2=3...0,余数为0,
3/2=1...1,余数为1,
1/2=0...1,余数为1。
后面再用0除以2永远为0了,所以到0结束。
然后从后往前写。。。二进制为1100101.
验证:1100101(二进制)转化为十进制为:
1*2^0+0*2^1+1*2^2+0+0+1*2^5+1*2^6=1+4+32+64=101
第三步:对十进制小数.0625转换为二进制。
因为转换为二进制,所以基是2。
0.0625*2=0.125,整数为0,
0.125*2=0.25,整数为0,
0.25*2=0.5,整数为0,
0.5*2=1.0,整数为1,
然后从前往后写,往前加小数点。。。二进制为.0001
验证:0*2^(-1)+0*2^(-2)+0*2^(-3)+1*2^(-4)&