文档介绍:第六章计算机的运算方法
无符号数和有符号数
定点运算
数的定点表示和浮点表示
浮点四则运算
算术逻辑单元
00000000
00000001
00000010
…
01111111
10000000
10000001
11111101
11111110
11111111
…
128
129
-0
-1
-128
-127
-127
-126
二进制代码
无符号数
对应的真值
原码对应
的真值
补码对应
的真值
反码对应
的真值
0
1
2
127
…
253
254
255
…
-125
-126
-127
…
-3
-2
-1
…
-2
-1
-0
…
+0
+1
+2
+127
…
+0
+1
+2
+127
…
+0
+1
+2
+127
…
+0
设机器数字长为 8 位(其中一位为符号位)
对于整数,当其分别代表无符号数、原码、补码和
反码时,对应的真值范围各为多少?
解:
已知[y]补求[ y]补
<Ⅰ> [y]补= 0. y1 y2 yn
…
y = 0. y1 y2 yn
…
y = 0. y1 y2 yn
…
[ y]补= y2 yn + 2-n
…
<Ⅱ> [y]补= 1. y1 y2 yn
…
[ y]原= y2 yn + 2-n
…
y = (0. y1 y2 yn + 2-n)
…
y = 0. y1 y2 yn + 2-n
…
…
[ y]补= 0. y1 y2 yn + 2-n
设[y]补= y0. y1 y2 yn
…
每位取反,
即得[ y]补
[y]补连同符号位在内,
末位加 1
每位取反,
即得[ y]补
[y]补连同符号位在内,
末位加 1
5. 移码表示法
补码表示很难直接判断其真值大小
如
十进制
x = +21
x = –21
x = +31
x = –31
x + 25
+10101 + 100000
+11111 + 100000
10101 + 100000
11111 + 100000
大
大
错
错
大
大
正确
正确
0,10101
1,01011
0,11111
1,00001
+10101
– 10101
+11111
– 11111
= 110101
= 001011
= 111111
= 000001
二进制
补码
(1) 移码定义
x 为真值,n 为整数的位数
移码在数轴上的表示
[x]移码
2n+1–1
2n
2n –1
–2n
0
0
真值
如
x = 10100
[x]移= 25 + 10100
用逗号将符号位
和数值位隔开
x = –10100
[x]移= 25 – 10100
[x]移= 2n + x(2n>x ≥ 2n)
= 1,10100
= 0,01100
(2) 移码和补码的比较
设 x = +1100100
[x]移= 27 +