我们常用的进制有:二进制、八进制、十进制、十六进制
二进制:0-1
八进制:0-7
十进制:0-9
十六进制:0-f
1、十进制转换为二进制
(1)、整数部分:除2取余法,即每次将整数部分除2,直到商为0为止,将余数从后往前数即是二进制数
例:将十进制的100转换为二进制
100 / 2 = 50 --- 0
50 / 2 = 25 --- 0
25 / 2 = 12 --- 1
12 / 2 = 6 --- 0
6 / 2 = 3 --- 0
3 /2 = 1 --- 1
1 / 2 = 0 --- 1
将余数从后往前数,所以十进制的100就是1100100
(2)、小数部分:乘2取整法,即将小数部分乘以2取整数部分,剩下的小数部分继续乘2,直到小数部分为0为止,如果小数部分永远不为0,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向前入一位。将整数部分从前往后数即是二进制数
例1:将十进制的0.125转换为二进制
0.125 * 2 = 0.25 --- 0
0.25 * 2 = 0.5 --- 0
0.5 * 2 = 1.0 --- 1
将整数部分从前往后数,所以十进制的0.125是0.001
例2:将0.45转换为二进制(保留到小数点第四位)
0.45 * 2 = 0.9 --- 0
0.9 * 2 = 1.8 --- 1
0.8 * 2 = 1.6 --- 1
0.6 * 2 = 1.2 --- 1
将整数部分从前往后数,所以十进制的0.45保留四位小数为是0.0111
2、二进制转换为十进制
按权位相加,即将二进制每位上的数乘以权,然后相加之和即是十进制数
例:将101.101 转换为十进制
整数部分:2^2 + 2^0 = 5
小数部分:2^(-1) + 2^(-3) = 1/2 + 1/8 = 0.5 + 0.125 = 0.625
十进制: 2^2 + 2^0 + 2^(-1) + 2^(-3) = 5.625
3、二进制转换为八进制
将二进制数整数部分从右到左每三位分成一组,将二进制小数部分从左到右每三位分成一组,不足三位补0,每三位代表一个八位进制数
例:将二进制数1101100.01转换为八进制
1101100.01 => 001 101 100.010
整数部分:
2^0 = 1
2^2 + 2^0 = 5
2^2 = 4
小数部分:
2^1 = 2
八进制:154.2
4、二进制转换为十六进制
将二进制数整数部分从右到左每四位分成一组,将二进制小数部分从左到右每四位分成一组,不足四位补0,每四位代表一个十六位进制数
例:将二进制数1101100.01转换为八进制
1101100.01 => 0110 1100.0100
整数部分:
2^2 + 2^1 = 6
2^3 + 2^2 = c
小数部分:
2^2 = 4
八进制:6c.4
5、其他进制转换
(1)、十进制转八进制,整数部分除8取余法,小数部分乘8取整法
例:将十进制数796.703125转换为八进制数
整数部分(从后往前读):
796/8 = 99 --- 4
99/8 = 12 --- 3
12/8 = 1 --- 4
1/8 = 0 --- 1
小数部分(从前往后读)
0.703125 x 8= 5.625 --- 5
0.625 x 8 = 5.0 --- 5
八进制:1434.55
(2)、八进制转换为十进制,按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数。
例:将八进制数127.42转换为十进制
整数部分:
1x8^2 + 2x8^1 + 7x8^0 = 87
小数部分:
4x8^(-1) = 0.5
2x8^(-2) = 0.03125
十进制:87.53125
(3)、十进制转十六进制,整数部分除16取余法,小数部分乘16取整法
例:将十进制数796.703125转换为十六进制数
整数部分(从后往前读):
796/16 = 49 --- c
49/16 = 3 --- 1
3/16 = 0 --- 3
小数部分(从前往后读)
0.703125 x 16= 11.25 --- b
0.25 x 26 = 4.0 --- 4
十六进制:31c.b4
(4)、十六进制转换为十进制,按权相加法,即将十六进制每位上的数乘以位权,然后相加之和即是十进制数。
例:将八进制数127.42转换为十进制
整数部分:
1x16^2 + 2x16^1 + 7x16^0 = 295
小数部分:
4x16^(-1) = 0.25
2x16^(-2) = 0.0078125
十进制:295.2578125
(5)、十六进制转换为八进制
1.先转换为十进制再相互转换
2.先转换为二进制再相互转换
网友评论