十进制是人们日常生活用的最多也最熟悉的一种进位计数制,由0、1、2、3、4、5、6、7、8、9这十个数码组成,基数为10。
十进制的特点是:逢十进一,借一当十
二进制由0和1两个数码组成,基数为2.
二进制的特点是:逢二进一,借一当二。
其数值的每一位只能取0或1这两个数码之一。
对于十进制而言,1+1=2,而对于二进制来说,1+1=(10)2
八进制就是基数为8,由0、1、2、3、4、5、6、7这八个数码组成.
八进制的特点是:逢八进一,借一当八
如果某位为7时,再加上1,则向前进位1,而本位变成0
十六进制由0、1、2、3、4、5、6、7、8、9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)这十六个数码组成,基数为16。在十六进制中的10~15这六个数用英文字母A~F表示,用这来区分于十进制的数
十六进制的特点:逢十六进一,借一当十六
数字用括号括起来,再加上数制的下标,如(12)2,(110)8、(120)10、(568)16
用进位制的字母符号B(二进制)、Q或O(八进制)、D(十进制)、H(十六进制)来表示,如110D就表示十进制数110,而不是二进制
进制之间的关系如下
十进制 | 二进制 | 八进制 | 十六进制 |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
在计算机中,采用二进制数可以非常方便地实现各种算术运算和逻辑运算。关于这优点已经在前面已经介绍过
加法规则:
减法规则:
在这1101-1011示例中,从最低位开始逐位相减:
逻辑与运算(AND):0 Λ 0= 0;0 Λ 1= 0;1 Λ 0 = 0;1 Λ 1 = 1
X | Y | X AND Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
逻辑与运算规则:有0则为0
逻辑或运算(OR):0 ∨ 0 = 0;0 ∨ 1 = 1;1 ∨ 0 = 1;1 ∨ 1=1
X | Y | X OR Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
逻辑或运算规则:有1则为1
逻辑非运算(NOT):
X | NOT X |
---|---|
1 | 0 |
0 | 1 |
逻辑非运算规则:0变1,1变0
逻辑异或运算(XOR): 0 ⊕ 0 =0; 0 ⊕ 1 = 1;1 ⊕ 0 = 1; 1 ⊕ 1 =0;
X | Y | X XOR Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
逻辑异或运算规则:相同为0,不同为1
方法:位权展开求和。
先按位权展开,然后按照十进制运算规则进行求和计算,其结果就是转换后对应的十进制数。
(1001.10)2=1*23+0*22+0*21+1*20+1*2-1+0*2-2=9.5
(230.1)8=2*82+3*81+0*80+1*8-1=19
(12A.5)16=1*162+2*161+10*160+5*16-1=298.3125
十进制数的整数部分和小数部分在转换时需做不同的计算,分别求值后再组合
由这得出:121D=1111001B
由该过程得出,0.3125D=0.0101B
将整数和小数部分组合起来得到:121.3125D=1111001.0101B
由以上过程得出,121D=171Q
由以上过程得出:0.3125D=0.24Q
将整数部分和小数部分整合起来得出:121.3125D=171.24Q
由以上过程中得出:121D=79H
由以上过程得出:0.3125D=0.5H
将整数部分和小数部分整合起来得出:121.3125D=79.5H
由于二进制、八进制、十六进制之间存在特殊关系:23=81,24=161,即1位八进制数相当于3位二进制数,1位十六进制数相当于4位二进制数,因此通过这关系可以得出以下
二进制数转换成八进制数的方法是:
二进制3位分组 | 010 | 111 | 101. | 110 |
---|---|---|---|---|
转换为八进制数 | 2 | 7 | 5 | 6 |
从这可以得出:10111101.110B=275.6Q
把每个八进制数字改写成等值的3位二进制数,且保持高低位的次序不变
八进制分组 | 5 | 2. | 3 |
---|---|---|---|
转换为二进制数 | 101 | 010 | 011 |
因此52.3Q=101010.011B
二进制转换为十六进制的方法是:
二进制4位分组 | 1011 | 0001. | 1010 |
---|---|---|---|
转换为十六进制数 | B | 1 | A |
从上面得出:10110001.101B=B1.AH
把每个十六进制数字改写成等值的4位二进制数,且保持高低位的次序不变
十六进制数 | A | 2 | C. | 8 |
---|---|---|---|---|
转换为二进制 | 1010 | 0010 | 1100 | 1000 |
因此从上面得出:A2C.8=101000101100.1000