一个数码处在不同位置上所代表的值不同,如数字6在十位数位置上表示60,在百位数上表示600,而在小数点后1位表示0.6,可见每个数码所表示的数值等于该数码乘以一个与数码所在位置相关的常数,这个常数叫做位权。位权的大小是以基数为底、数码所在位置的序号为指数的整数次幂。十进制的个位数位置的位权是100,十位数位置上的位权为101,小数点后1位的位权为10-1 。
十进制数34958.34的值为:
(34958.34)10=3×104+4×103+9×102+5×101+8×100+3×10-1+4×10-2
小数点左边:从右向左,每一位对应权值分别为100、101、102、103、104
小数点右边:从左向右,每一位对应的权值分别为10-1、10-2
二进制数 (100101.01)2=1×25+0×24+0×23+1×22+0×21+1×20+0×2-1+1×2-2
小数点左边:从右向左,每一位对应的权值分别为20、21、22、23、24
小数点右边:从左向右,每一位对应的权值分别为2-1、2-2
不同的进制由于其进位的基数不同权值是不同的。
位置计数法:
一般而言,对于任意的R进制数
an-1an-2…a1a0a-1…a-m (其中n为整数位数,m为小数位数)
可以表示为以下和式:
an-1×Rn-1+an-2×Rn-2+…+a1×R1+a0×R0+a-1×R-1+…+a-m×R-m (其中R为基数)
二进制数的运算规则 | |||
加 法 | 乘 法 | 减 法 | 除 法 |
0+0=0 | 0×0=0 | 0-0=0 | 0÷0=0 |
0+1=1 | 0×1=0 | 1-0=0 | 0÷1=0 |
1+0=1 | 1×0=0 | 1-1=0 | 1÷0=(无意义) |
1+1=10(逢二进一) | 1×1=1 | 0-1=1(借一当二) | 1÷1=1 |
⑴二进制数的加法运算
例:二进制数1001与1011相加
算式: 被加数 (1001)2 ……(9)10
加数 (1011)2 …… (11)10
进位 +) 1 11
和数 (10100)2
结果:(1001)2 +(1011)2=(10100)2
由算式可以看出,两个二进制数相加时,每一位最多有3个数(本位被加数、加数和来自低位的进位)相加,按二进制数的加法运算法则得到本位相加的和及向高位的进位。
⑵二进制数的减法运算
例:二进制数11000001与00101101相减
算式: 被减数 (11000001)2…… (193)10
减数 (00101101)2…… (45)10
借位 –) 1111
差数 (10010100)2…… (148)10
结果:(11000001)2– (11000001)2 =(10010100)2
由算式可以看出,两个二进制数相减时,每一位最多有3个数(本位被减数、减数和向高位的借位)相减,按二进制数的减法运算法则得到本位相减的差数和向高位的借位。
表A-1
8位二进制对应十进制 | |||
二进制数 | 十进制数 | 二进制数 | 十进制数 |
0000 0000 | 0 | 1000 0000 | 128 |
0000 0001 | 1 | 1000 0001 | 129 |
0000 0010 | 2 | 1000 0010 | 130 |
... | ... | ... | ... |
0001 0000 | 16 | 1111 1000 | 144 |
0001 0001 | 17 | 1001 0001 | 145 |
... | ... | ... | ... |
0111 1100 | 124 | 1111 1100 | 252 |
0111 1101 | 125 | 1111 1101 | 253 |
0111 1110 | 126 | 1111 1110 | 254 |
0111 1111 | 127 | 1111 1111 | 255 |
表A-2
十六进制数及对应的二进制数和十进制数 | ||
十六进制 | 十进制 | 二进制 |
0 | 0 | 0000 |
1 | 1 | 0001 |
2 | 2 | 0010 |
3 | 3 | 0011 |
4 | 4 | 0100 |
5 | 5 | 0101 |
6 | 6 | 0110 |
7 | 7 | 0111 |
8 | 8 | 1000 |
9 | 9 | 1001 |
A | 10 | 1010 |
B | 11 | 1011 |
C | 12 | 1100 |
D | 13 | 1101 |
E | 14 | 1110 |
F | 15 | 1111 |
转载于:https://blog.51cto.com/mindlikewater/1289558