1.1计算机中数的表示及及进制转换
1.1.1数码、基数与位权
数码:表示数的符号。如:二进制的0,1。十进制的0,1,2,3,4,5,6,7,8,9。
基数:数码的个数。“逢N进一”其中N就是基数。
位权:每一位所具有的权值。如:十进制数234.56中,2的位权是10^2=100,3的位权为10^1=10,4的位权为10^0=1,5的位权为10^-1=0.1,5的位权为10^-2=0.2。
1.2各种进制之间的转换
数制:
十进制:逢十进一
十六进制:逢十六进一
二进制:逢二进一
N进制:逢N进一
进制转换:让计算机理解人的思维。
1.2.1二进制、八进制、十六进制转换为十进制。(方法:按位权相加)
二进制:
(111011)2=1*2^5+1*2^4+1*2^3+0*2^2+1*2^1+1*2^0=(59)10
八进制:
(136)8=1*8^2+3*8^1+6*8^0=(94)10
十六进制A-10,B-11,C-12……F-15:
(1F2A)16=1*16^3+15*16^2+2*16^1+10*16^0=(7978)10
小数表示:
(10110.101)2=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0+1+2^-1+0*2^-2+1*2^-3=(22.625)10
1.2.2十进制转换成二进制、八进制、十六进制(整数部分)
方法:连续除以基数,从低到高记录余数,直至商为0。
eg:把十进制数59转换成二进制。如图:
![](https://img-blog.csdnimg.cn/21409d910be14e97843c72b4bf4a8d5a.png)
1.2.3十进制小数转换成二进制
方法:“乘二取整”
将小数部分连续乘以2,取乘积的整数部分作为二进制的小数。
eg:将十进制小数转换为二进制数。如图:
![](https://img-blog.csdnimg.cn/52f2188223084fc29351e17d06d99d65.png)
1.2.4二进制与八进制之间的转换
二进制 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 |
八进制 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
(1)二进制转换为八进制
整数:从右向左,每三位一组(不足三位左补0)转换成八进制。
eg:
![](https://img-blog.csdnimg.cn/804b640aab424f3ebb1b15daa4e6a8f7.png)
小数:从左向右,每三位一组(不足三位右补0)转换成八进制。
eg:(0.1101001)2=(0.110100100)2=(0.644)8
(2)八进制转换为二进制:用三位二进制数代替每一位八进制数
eg:
(572)8=(101111010)2
(0.567)8=(0.101110111)2
1.2.5二进制与十六进制之间的转换
十进制 | 二进制 | 十六进制 |
0 | 0000 | 0 |
1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
(1)二进制转换成十六进制
整数:从右向左,每四位一组(不足4位左补0),转换成十六进制数。
小数:从左向右,每四位一组(不足4位右补0),转换成二进制数。
eg:(111110001111000)2=(0111110001111000)2=(7c78)8
(0.1100111001)2=(0.110011100100)2=(0.ce4)8
(2)十六进制转换成二进制:用思维二进制数代替每一位十六进制数
eg:(3F4B)16=(0011111101001011)2=(11111101001011)2
(0.3F4B)16=( 0.0011 1111 0100 1011)2=(0.0011 1111 0100 1011)2