一、进制表示
- 二进制:每一位只有两种符号表示 -> 0,1 例如 (101011)₂,也可写作101011
B
,其中B是Binary英文的缩写。 - 八进制: 每一位有8种符号表示(0~7),例如(1652)₈,也可写作1652
O
,其中O是Octal英文的缩写。 - 十进制:每一位有10种符号表示(0~9), 例如 (15),也可写作10
D
,其中D是Decimal英文的缩写。 - 十六进制:每一位有16种符号表示,通常用数字0、1、2、3、4、5、6、7、8、9和字母A、B、C、D、E、F(a、b、c、d、e、f)表示,其中:A - F表示10~15。例如(1652)₁₆或1652
H
或0x
165,H就是Hexadecimal英文的缩写,简称Hex。
进制只是一种进位的计数法,不局限其特定的几个形式。对于任何一种进制—X进制,就表示每一位上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
对于我们现实世界而言,常用的是十进制,因为经过长期生活实践来说,人类有十个手指,十进制更加方便计算。而且用来表示小数、分数等比较灵活
二、整数进制之间的转换
1. 十进制转其他进制
(1)十进制转二进制
例如:9(十进制)→1001(二进制)
(2)十进制转八进制
例如:796(十进制)→1434(八进制)
(3)十进制转十六进制
例如:796(十进制)→31C(十六进制)
十六进制数是由0-9和A-F(或者a-f)组成的,A相当于十进制中的10,B相当于11,依次类推,F相当与15,上述示例中取得的余数12即为十六进制中的c
总结:十进制整数转其他进制的整数方法就是采用短除法,把要转的进制X当做除数,不断进行除法计算,直至商为0,将余数逆序排列,得到的结果就是该进制数
2. 其他进制转十进制
(1)二进制转十进制
(2)八进制转十进制
(3)十六进制转十进制
总结: 其他进制转十进制整数时,从右往左依次计算自己的位权值,然后相加即可
二、小数进制之间的转换
1. 十进制转其他进制
(1)十进制小数转二进制小数
例如:0.8125(十进制)→0.1101(二进制)
(2) 十进制小数转八进制小数
例如:10.68(十进制)→12.534(八进制)
十进制数10.68转换成八进制数,分为整数部分和小数部分求解
(1)整数部分
10/8=1 -->2
1/8=0 -->1
倒序输出为12
(2)小数部分
0.68* 8=5.44 -->5
0.44* 8=3.52 -->3
0.52* 8=4.16 -->4
已经达到了题目要求的精度,即可结束
则小数部分为:0.68–>0.534
因此10.68D -->12.534Q
(3) 十进制小数转十六进制小数
例如:25.68(十进制)→19.AE1H(十六进制)
(1)整数部分
25/16=1 -->9
1/16=0 -->1
倒序输出为12
(2)小数部分
0.68* 16=10.88 -->a(即十进制中的10)
0.88* 16=14.08 -->e
0.08* 16=1.28 -->1
已经达到了要求的精度,顺序输出为:ae1
则:25.68D -->19.ae1H
总结:十进制小数转其他进制小数要分两种情况处理
- 如果要转换的数没有整数部分:将要转换的进制作为乘数得到积,将积的整数部分取出,用小数部分继续相乘,如此进行,直到积中的小数部分为0或达到所需要的精度,最后将整数顺序排列即可。
- 如果有整数部分:整数部分应用除法取余(逆序排列),小数部分应用乘法取整(正序排列)。
2. 其他进制转十进制
总结:与整数的转换方法一致,只不过小数部分要从-1开始
二、进制之间的转换(二、八、十六)
参考这位博主:https://www.kuangstudy.com/bbs/1380816189680365569