进制转换要领:
- 二进制、八进制、十六进制转换成十进制要 按权相加(按权展开)
- 十进制转换为二进制、八进制、十六进制要 连续除以基,从低到高记录余数,直到商为0
- 二进制、八进制、十六进制之间转换 八进制转二进制时将八进制从低位到高位将二进制数每三位分为一组,不够三位时在高位补0,十六进制转二进制时将十六进制数每四位分为一组,不够四位在高位补0。之后按 8421匹配。二进制转八进制、十六进制时,分别将二进制数三位、四位分一组,位数不够时依然补0,之后按8421进行匹配
- 八进制、十六进制之间转换 先将八进制、十六进制转换为二进制,如果是八进制转十六进制则将二进制数四位一组再转十六进制,如果是十六进制转八进制则将二进制数三位一组再转为八进制
例:
(一) 二进制转为十进制 10101.11 转换为十进制
1*24 +0*23 +1*22 +0*21 +1*20 +1*2-1 +1*2-2 =16+0+4+0+1+0.5+0.25=21.75
(二) 八进制转换为十进制 5716 转换为十进制
5*83 +7*82 +1*81 +6*80 = 2560 + 448 + 8 + 6 = 3022
(三) 十六进制转换为十进制 (ABCDEF分别表示10 11 12 13 14 15) 5BB 转换为十进制
5*162 +11*161 +11*160 = 1280 + 176 + 11 = 1467
(四) 十进制转二进制、八进制、十六进制
1、十进制数1994转二进制
1994/2=997 ---------余----------0
997/2=498 ---------余----------1
498/2=99 ---------余----------0
249/2=124 ---------余----------1
124/2=62 ---------余----------0
62/2=31 ---------余----------0
31/2=15 ---------余----------1
15/2=7 ---------余----------1
7/2=3 ---------余----------1
3/2=1 ---------余----------1
1/2=0 ---------余----------1
结果从下至上记录:11111001010
2、十进制数120转八进制
120/8=15 ---------余----------0
15/8=1 ---------余----------7
1/8=0 ---------余----------1
结果从下至上记录:170
3、十进制数120转十六进制
120/16=7 ---------余----------8
7/16=0 ---------余----------7
结果从下至上记录:78
(五)二进制、八进制、十六进制之间转换
1、二进制数 1101001 转为八进制
001 101 001
8 4 2 1
0 0 0 1 -------- 1
8 4 2 1
0 1 0 1 ---------4+1=5
8 4 2 1
0 0 0 1 ---------1
结果从左至右记录:151
2、二进制数 10110011 转为十六进制
1011 0011
8 4 2 1
1 0 1 1 ----------8+2+1=11为B
8 4 2 1
0 0 1 1 -----------2+1=3
结果从左至右记录:B3
3、八进制数 267 转为二进制
2
8 4 2 1
0 0 1 0 -----------010
6
8 4 2 1
0 1 1 0 -----------110
7
8 4 2 1
0 1 1 1 -----------111
结果从左至右记录:10110111
4、十六进制数 A3F67 转为二进制
A-10
8 4 2 1
1 0 1 0 -----------1010
3
8 4 2 1
0 0 1 1 -----------0011
F-15
8 4 2 1
1 1 1 1 -----------1111
6
8 4 2 1
0 1 1 0 -----------0110
7
8 4 2 1
0 1 1 1 -----------0111
结果从左至右记录:10100011111101100111
5、八进制数 765 转为十六进制
765对应二进制数:111110101
将二进制再转为十六进制:1F5
附加知识点(原码、反码、补码)
原码: 一个整数,按照绝对值大小转换成二进制数,称为原码
比如5的原码 00000000 00000000 00000000 00000101
反码: 将二进制数按位取反,所得的新二进制数称为原二进制数的反码
比如将 00000000 00000000 00000000 00000101 每一位取反,得:11111111 11111111 11111111 11111010
称 11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码
或称 11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码
补码: 反码加1称为补码
也就是说要得到一个数的补码,则必须先得到这个数的反码,然后将反码加1,所得的数成为原码的补码
比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010
那么补码为: 11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011
所以-5在计算机中是以 11111111 11111111 11111111 11111011 的形式存在的