- 14
- 0
- 约2.58千字
- 约 9页
- 2016-05-07 发布于重庆
- 举报
关于补码以及基本的补码运算
关于补码以及基本的补码运算
0.最基本的,补码怎么得到,这里不讨论。以及原码和补码的和是0,这个基础的结论,这里不做说明。
?
1.加法的时候,判断溢出的方法:当两个加数的符号位相同,且结果的符号位与加数符号位不同的时候,则产生了溢出。显然,两个数,如果异号,显然不会溢出。溢出,只会出现在同号的情况,则有上面的结论。
?
2.补码也是有权码。假如总共有n个比特,除最高位(符号位)以外,每一位的权值为2^i。而最高位的权值是-2^(n-1)!注意是负的!这一点很好理解:原码和补码的和是2^n,由于总共的位数只有n位,因此和的结果是0,因此补码的最高位权值就是负的。
?
3.有符号数的乘法(补码的乘法),例子-5*-3:
? ? ? ? 1011
? ? ? ? 1101
-----------
? ??? 00000
? ? ? 11011
-----------
? ?? 111011
? ?? 00000
-----------
? ? 1111011
? ? 11011
------------
???? 00101
-------------
??
有符号数的乘法与无符号数的乘法的区别在于:
a.在做每一位的乘法的时候,都要做一个位扩展,即扩展符号位。如上的例子,第一步做1011*1的结果是11011,扩展了一位符号位1。道理很简单,
原创力文档

文档评论(0)