进制概念
进制也就是进位制。进行加法运算时逢X进一(满X进一),进行减法运算时借一当X,这就是X进制,这种进制也就包含X个数字,基数为X。
二进制运算
进位规则:“逢二进一”
借位规则:“借一当二”
基数:2
数码:0~1
后缀:用B或2表示,例如:(1010)2、(1010)B
位权:位权值为2^k(k为数位)。对于任意一个n位整数和m位小数的二进制数D,均可按权展开为:
D=Bn-1 * 2n-1 + Bn-2 * 2n-2 + … + B-1 * 2-1 + B-0 * 2-0 + B-1 *2–1 + … + B–m * 2-m
例:(10110010)₂ = 2⁷ * 1 + 2⁶ * 0 + 2⁵ * 1 + 2⁴ * 1 + 2³ * 0 + 2² * 0 + 2¹ * 1 + 2⁰ * 0 =128+0+32+16+0+0+2+0=178
- 二进制加法:1+0=1、1+1=10、11+10=101、111+111=1110
- 二进制减法:1-0=1、10-1=1、101-11=10、1100-111=101
加法法则:0+0=0;0+1=1;1+0=1;1+1=10。
减法法则:0-0=0;1-0=1;1-1=0;0-1=1有借位,借1当(10)2
乘法法则:0 * 0 = 0 0 * 1 = 0,1 * 0 = 0,1 * 1 = 1
除法法则:0÷0 = 0,0÷1 = 0,1÷0 = 0 (X),1÷1 = 1 ;
二进制转换
转换十进制 :
1) 整数部分:
11010 = 1×2^4 + 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 = 26(十进制)
2) 小数部分:
1010.1101 = 1×2^3 + 0×2^2 + 1×2^1 + 0×2^0 + 1×2^-1 + 1×2^-2 + 0×2^-3 + 1×2^-4 = 10.8125(十进制)
转换八进制
1)整数部分:
1100101转换为八进制就可以这样表示 001 100 101
分别计算:
* 001 = 0*2²+0*2¹+1*2º =1
* 100 =1*2²+0*2¹+0*1º =4
* 101 =1*2²+0*2¹+1*2º =5
然后组合他们: → 1 4 5 转换为八进制的结果为:145
快速计算:
4 2 1 4 2 1 4 2 1 (被乘数)
0 0 1 1 0 0 1 0 1 (乘数)
→ 1 4 4 + 1 = 145
2)小数部分:
从小数点往两边取二进制数,每3个(不足的补0)转换成一个8进制,一定是从中间往两边
110.01转换为八进制可以这样表示(110).(010) = 6.2
转换十六进制
1)整数部分:
1111 = 1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15
由于1111才4位,所以我们必须直接记住它每一位的权值,并且是从高位往低位记,:8、4、2、1。即,最高位的权值为2^3 = 8,然后依次是 2^2 = 4,2^1=2, 2^0 = 1
记住8421,对于任意一个4位的二进制数,我们都可以很快算出它对应的10进制值。
下面列出四位二进制数xxxx 所有可能的值(中间略过部分)
2)小数部分:
二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位,如图3所示。
1111.11转化为十六进制可以这样表示 (1111).(1100) = F.C
二进制整数转换为十六进制整数时,每四位二进制数字转换为一位十六进制数字,运算的顺序是从低位向高位依次进行,高位不足四位用零补齐。下图演示了如何将二进制整数 10 1101 0101 1100 转换为十六进制:
仅四位的二进制数 | 快速计算方法 | 十进制值 | 十六进制值 |
---|---|---|---|
1111 | 8+4+2+1 | 15 | F |
1110 | 8+4+2+0 | 14 | E |
1101 | 8+4+0+1 | 13 | D |
1100 | 8+4+0+0 | 12 | C |
1011 | 8+0+2+1 | 11 | B |
1010 | 8+0+2+0 | 10 | A |
1001 | 8+0+0+1 | 9 | 9 |
…… | … | … | … |
0001 | 0+0+0+1 | 1 | 1 |
0000 | 0+0+0+0 | 0 | 0 |
二进制数要转换为十六进制,就是以4位一段,分别转换为十六进制。
如:
二进制数 | 1111 1101 | 1010 0101 | 1001 1011 |
---|---|---|---|
对应十六进制数 | FD | A5 | 9B |