一、无符号加法
1、原理
屏幕快照 2017-09-18 下午8.56.37.png
2、C语言执行时不会将溢出当作错误发出信号,检测无符号数加法溢出的方法:
屏幕快照 2017-09-19 下午8.33.43.png
3、无符号数求反:
屏幕快照 2017-09-19 下午8.37.43.png
二、补码加法
1、原理:
屏幕快照 2017-09-19 下午8.39.57.png
2、检测补码加法中的溢出:
屏幕快照 2017-09-19 下午8.44.09.png
3、补码的非
屏幕快照 2017-09-19 下午8.50.36.png
4、无符号乘法
屏幕快照 2017-09-19 下午8.56.25.png
5、有符号乘法
屏幕快照 2017-09-19 下午8.58.13.png
6、乘以常数:计算机执行乘法,效率很低,通常需要10个或更多的时钟周期,所以编译器使用了一项重要优化,试着用移位和加法运算的组合来代替乘以常数因子的乘法。如x * 14可优化为 x * 2的三次方 + x * 2的二次方 + x * 2的一次方。
7、除以2的幂:大多数机器上整数除法比乘法更慢,所以编译器也会优化为右移和加减法的。