进制转换详解(一)
进制转换详解(一)
十进制转二、八、十六进制(整数与小数)
一、常用进制介绍
- 十进制(逢10进1):由0-9数字组成,不能以0开头。
- 二进制(逢2进1):由0和1两个数字组成。
- 八进制(逢8进1):由0-7数字组成,通常开头以0作为标记表示八进制。
- 十六进制(逢16进1):由0-9和A-F组成。通常开头以0x作为标记表示十六进制。
二、进制转换关系表
不会用其他进制计数的‘童鞋’认真阅读此表(明白了再往下看)
二进制 | 八进制 | 十进制 | 十六进制 |
---|---|---|---|
0000 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
三、十进制转换为二、八、十六进制
3.1 整数转换
口诀:除 R 取余,逆序输出(R:进制关系)
3.1.1 十进制转二进制(除R取余)
将十进制的数除以2,保留其余数,直到商为0.再反向输出余数
举个栗子:将10转换成二进制过程
10(10)= 1010(2)
3.1.2 十进制转八进制(除R取余)
将十进制的数除以8,保留其余数,直到商为0.再反向输出余数
举个栗子:将10转换成八进制过程
10(10)= 12(8)
3.1.2 十进制转十六进制(除R取余)
将十进制的数除以16,保留其余数,直到商为0.再反向输出余数
举个栗子:将10转换成十六进制过程
10(10)= A(16)
注意: 十六进制数是由0-9和A-F组成的,A当十进制中的10,B当11,依次类推,F当15,上述例子中取得的余数10即为十六进制中的A
3.2 小数转换
口诀:乘 R 取整,顺序输出(R:进制关系)
3.2.1 十进制转二进制(乘R取整)
十进制小数转换成二进制小数采用乘2取整,顺序输出
注:这里用首字母D表示十进制,B表示二进制
举个栗子1:
0.25D = ________B
计算步骤:
0.25 x 2 = 0.5 —> 0
0.5 x 2 = 1.0 —> 1
其结果为:0.010B
举个栗子2:
0.68D = ________B(精确到小数后5位)
计算步骤:
0.68 x 2 = 1.36 —>1
0.36 x 2 = 0.72 —>0
0.72 x 2 = 1.44 —>1
0.44 x 2 =0.88 —>0
0.88 x 2 = 1.76 —>1
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
其结果为:0.68D–>0.10101B
举个栗子3:
2.68D = ________B(精确到小数后5位)
这个例子既包含整数和小数部分,需分开计算。整数部分根据“除R取余倒叙输出”得到整数部分结果,小数部分根据“乘R取整顺序输出”得到小数部分结果。
计算步骤:
整数部分:
2 / 2 = 1 余 0
1 / 2 = 0 余 1
逆序取值为10
小数部分
0.68 x 2 = 1.36 —>1
0.36 x 2 = 0.72 —>0
0.72 x 2 = 1.44 —>1
0.44 x 2 =0.88 —>0
0.88 x 2 = 1.76 —>1
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
顺序取值为:0.10101
其结果为:2.68D = 10.10101B
========================================================================================================
3.2.2 十进制转八进制(乘R取整)
十进制小数转换成八进制小数采用乘8取整,顺序输出
注:这里用首字母D表示十进制,O表示八进制
举个栗子1:
0.25D = ________O
计算步骤:
0.25 x 8 = 2.0 —> 2
其结果为:0.2O
举个栗子2:
0.68D = ________O(精确到小数后5位)
计算步骤:
0.68 x 8= 5.44 —>5
0.44 x 8 = 3.52 —>3
0.52 x 8 = 4.16 —>4
0.16 x 8 =1.28 —>1
0.28 x 8 = 2.24 —>2
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
其结果为:0.68D–>0.53412O
举个栗子3:
68.68D = ________O(精确到小数后5位)
这个例子既包含整数和小数部分,需分开计算。整数部分根据“除R取余倒叙输出”得到整数部分结果,小数部分根据“乘R取整顺序输出”得到小数部分结果。
计算步骤:
整数部分:
68 / 8 = 8 余 4
8 / 8 = 1 余 0
1 / 8 = 0 余 1
逆序取值为104
小数部分
0.68 x 8= 5.44 —>5
0.44 x 8 = 3.52 —>3
0.52 x 8 = 4.16 —>4
0.16 x 8 =1.28 —>1
0.28 x 8 = 2.24 —>2
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
其结果为:0.68D–>0.53412O
其结果为:68.68D = 104.53412O
========================================================================================================
3.2.2 十进制转十六进制(乘R取整)
十进制小数转换成八进制小数采用乘16取整,顺序输出
注:这里用首字母D表示十进制,H表示八进制
举个栗子1:
0.25D = ________H
计算步骤:
0.25 x 16 = 4.0 —> 4
其结果为:0.4H
举个栗子2:
0.68D = ________H(精确到小数后5位)
计算步骤:
0.68 x 16 = 10.88 —>10—>A
0.88 x 16 = 14.08 —>14—>E
0.08 x 16 = 1.28 —>1
0.28 x 16 =4.48 —>4
0.48 x 16 = 7.68—>7
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
其结果为:0.68D–>0.AE147
举个栗子3:
68.68D = ________H(精确到小数后5位)
这个例子既包含整数和小数部分,需分开计算。整数部分根据“除R取余倒叙输出”得到整数部分结果,小数部分根据“乘R取整顺序输出”得到小数部分结果。
计算步骤:
整数部分:
68 / 16 = 4 余 4
4 / 8 = 0 余 4
逆序取值为44
小数部分
0.68 x 16 = 10.88 —>10—>A
0.88 x 16 = 14.08 —>14—>E
0.08 x 16 = 1.28 —>1
0.28 x 16 =4.48 —>4
0.48 x 16 = 7.68—>7
已经达到了题目要求的精度,最后将得到的整数部分顺序输出即可
其结果为:0.68D–>0.AE147
其结果为:68.68D = 44.AE147H