.2.3 数的二进制表示和二进制运算: A+ Q0 n) y5 N) _! h
1. 数的二进制表示. S6 E( f) w, m3 x
客观世界中,事物的数量是一个客观存在,但表示的方法可以多种多样。
+ V" X, M/ F+ R" \- P 例2-1 345用十进制数码可以表示为(345)10=3×102十4×101十5×100) o4 R( B! o4 T' M
这里每个固定位置上的计数单位称为位权。十进制计数中个位上的计数单位为100=1,从个位向左,依次为101,102,103,…;向右依次为10-1,10—2,…。6 h, p' K, }3 Z; G8 p8 R5 V% \
用二进制数码可以表示为:
8 c4 K: B: T% ~ l6 [ (101011001)2= l×28+0×27+1×26+0×25+l×24+1×23+0×22+0×21+l×20 =256+0+64+0+16+8+0+0+ l=(345)10, x* t3 E- d9 y# H# v6 @: O
二进制计数中个位上的计数单位也是1,即20=l,个位向左依次为21,22,23,…;向右依次为2-1,2-2,…。
2 z: ^$ G! x q" \ 2.计算机中的算术运算; n/ z# ]/ b7 v d; a# C; s1 `9 h
二进制数的算术运算与十进制的算术运算类似, 但其运算规则更为简单,其规则见表2-1。' N D. u* I) v+ W6 L0 p
表2-l二进制数的运算规则' |- p7 u" p7 e8 T
加 法; Z5 a7 [! t* h3 l% L
乘 法
/ l; C1 X3 `: x Z3 n. g 减 法6 Z- q9 a" d% Q, Y2 [: }$ q8 d- Y
除 法
; V2 g8 x4 b8 s! h4 } @ 0+0=0
& t8 W( Z+ X! p; ~' z- ] 0+1=1
/ k4 F* h" D/ U) m- ~0 e0 D' i 1+0=1
5 D: ~+ Y8 C7 J: Q% E- j) X5 r 1+1=10(逢二进一)/ C' ^; z- X4 k
0×0=0( j6 z' t+ Q& u1 Q V) n
0×1=0
* U" n$ z" c. s' i7 A 1×0=0
1 c" |3 A/ w R9 e5 B) E 1×1=1
; o, {0 a2 |6 N: N7 ?5 N6 G 0-0=03 I* A* p: x$ R9 t. I
1-0=15 d) C, ?% u: `) ?' I
1-1=0
6 B0 U1 v( @* X* ~! N 0-1=1(借一当二)
. F5 Z) f: @# l; S* T 0÷0=0
; W# G. L$ ^3 C+ i: s 0÷1=0
- a, u7 ]. t8 N2 A5 q: U! g8 e 1÷0=(没有意义)
9 f1 n3 n1 V4 |8 _. v 1÷1=1% O' U/ ?' M0 Z- i
⑴二进制数的加法运算+ m% z* u' w0 l. y
例:二进制数1001与1011相加$ n, X# ?& I7 E
算式: 被加数 (1001)2 ……(9)10% V j- P2 O7 }* h2 I7 K, J
加数 (1011)2 …… (11)10$ d# _. @2 u$ \) |
进位 +) 1 11: ^1 H3 s3 `# [% T7 \& m1 k$ Q
和数 (10100)2
) u' c' i% }0 {0 Y3 ]% w$ z; ] 结果:(1001)2 +(1011)2=(10100)2
: o8 S4 {& Q- R6 b* i, g5 a 由算式可以看出,两个二进制数相加时,每一位最多有3个数(本位被加数、加数和来自低位的进位)相加,按二进制数的加法运算法则得到本位相加的和及向高位的进位。
6 z8 ?7 o+ X; w& R: f ⑵二进制数的减法运算
) w8 G! b" k G( T& g3 H$ s5 b9 E 例:二进制数11000001与00101101相减
! S" {8 _! v. P& @5 t# N* N0 i& A1 q" x! g 算式: 被减数 (11000001)2 …… (193)10" F% M% ?7 m! d+ S4 l/ l( x
减数 (00101101)2 …… (45)10
" z) w: z6 y! E9 Y, X- T 借位 –) 1111
: C) h: `: ?5 d+ p( J 差数 (10010100)2 …… (148)10: J5 Z' j, C. P+ g1 F
结果:(11000001)2 – (11000001)2 =(10010100)2# D8 D9 }' ~: \ {; z
由算式可以看出,两个二进制数相减时,每一位最多有3个数(本位被减数、减数和向高位的借位)相减,按二进制数的减法运算法则得到本位相减的差数和向高位的借位。
& o* w, O* p; b 3. 计算机中的逻辑运算
$ r, v* C D, z, ]% e 计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。二值逻辑很容易用二进制的“0”和“1”来表示,一般用“1”表示真,用“0”表示假。逻辑值的每一位表示一个逻辑值,逻辑运算是按对应位进行的,每位之间相互独立,不存在进位和借位关系,运算结果也是逻辑值。 |