记录个人总结各种进制转换,描述可能有点粗糙:
十进制、二进制、八进制、十六进制互转:
1.十进制转二进制:整数部分:除2取余,直到商小于2保留商,然后逆向拼接。
小数部分:乘2取整数部分,然后整数部分置0继续乘2,直到小数为0,然后正向拼接。
例如:52转二进制为 110100
52/2 = 26 余 0
26/2 =13 余0
13/2 = 6 余1
6/2 = 3 余0
3/2=1 余1
1<2 保留 1
例如:0.83转二进制取四位有效位为:0.1101
0.83*2 = 1.66 整数部分为1,整数位置为0继续相乘
0.66*2 = 1.32 整数部分为1
0.32*2 =0.64 整数部分为0
0.64*2 = 1.28 整数部分为1
0.28*2 = 0.56 整数部分为0
2.十进制转八进制:除8取余,直到商小于8保留商,反向拼接。
例如:26741转八进制 64165
26741/8 = 3342 余 5
3342/8 = 417 余 6
417/8 = 52 余 1
52/8 = 6 余 4
6<8 保留 6
小数部分:乘8取整数部分,然后整数部分置0继续乘8,直到小数部分为0,正向拼接。
例如:0.741转八进制保留四位有效数字为0.5733
0.741*8 = 5.928 整数部分为 5
0.928*8 = 7.424 整数部分为 7
0.428*8 = 3.424 整数部分为 3
0.424*8 = 3.392 整数部分为 3
0.392*8 = 3.136 整数部分为 3
3.十进制转十六进制:除16取余,直到商小于16保留商,逆向相拼。
十六进制:0、1、2、3、4、5、6、7、8、9、A、 B、 C、 D、 E、 F;
十进制: 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;
例如:58422转十六进制为e436
58422/16 = 3651 余6
3651/16 = 228 余3
228/16 = 14 余4
14<16 保留e
4.二进制转十进制:有1的位数计算2的位数次方然后相加。
例如:1101101转换成十进制为109
+
+
+
+
= 64+32+8+4+1 = 109
5.二进制转八进制:从右往左,每三位计算十进制的结果,最后相拼。
例如:110100101转八进制为 645
每三位分开结果为110 100 101 ,运算值为6 4 5
6.二进制转十六进制:从右往左,每四位计算十进制结果,最后拼接。
十六进制:0、1、2、3、4、5、6、7、8、9、A、 B、 C、 D、 E、 F;
十进制: 0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15;
例如:111010101转十六进制为1D5
0001 1101 0101 运算结果为
=> 1 13 5 表示为 1D5