信息的表示和处理(3):整数运算

2019-02-11  本文已影响0人  月月月月_bd25

1.1 无符号加法

无符号加法定义

无符号加法定义

检测无符号加法的溢出

无符号加法溢出的定义及推导

说白了,就是两个无符号数相加的和小于任意一个加数时,即可判定为溢出。

无符号数求反

无符号数求反的定义

1.2 补码加法

补码加法的定义

补码加法的定义 补码加法的定义图示

检测补码加法中的溢出

检测补码加法的溢出

1.3 补码的非

补码非的定义

事实上,求一个补码的非,可以通过对位级表示求补码非。

1.4 无符号乘法和补码乘法

无符号乘法:

无符号乘法的定义

x * y的结果可能需要2^\omega 位来表示。因此无符号乘法的值等价于将其值截断为\omega 位,即计算该值模2^\omega

补码乘法:

补码乘法的定义

补码乘法和无符号乘法的位级表示认为是一样的。因此有了如下性质:

无符号和补码乘法的位级等价性

也就是说,以十进制为例,求两个数(两者均为\omega 位的位表示)的乘积时,先按整数运算计算出乘积的值,然后将该值用对应的位表示(2^\omega 位)出来,此时无符号数和补码的乘积的位表示可能会不一样,但是截断为\omega 位后的位表示是一样的。具体例子如下:

3位数的无符号和补码乘法示例

1.5 常数乘除

乘以2的幂

乘以2的幂的原理

乘以常数

乘以常数

比如14的位模式为1110,则n=3,m=1,14*x的形式A为(x<<3)+(x<<2)+(x<<1),形式B为(x<<4)-(x<<1)。

除以2的幂

补码除法-向下舍入 补码除法-向上舍入 补码除法-偏置技术
上一篇 下一篇

猜你喜欢

热点阅读