计算机的寄存器会根据汇编指令执行相应的运算,指令集越多处理越复杂对cpu功耗也会提高。
那么程序优化我先分两方面,一是寄存器指令(位运算,还有减少不必要的循环,尤其是嵌套循环),二是内存分配(字节对齐,可以优化开辟内存大小,减少了多余内存读写,所有的内存电路工作模式都是布尔门,一个字节8位,每一位都有高低电压通路信号,用来表示是0或1)。
寄存器指令我举例说明加减乘除在计算机运算过程(重复的位运算),如下;
加法执行了下面的过程:
1步:异或^(不考虑进位)
2步:与&(判断是否进位)
3步:2步结果左移<<一位(获取进位结果)
4步:1步异或^3步(可能是结果)
5步:1步与&3步(没有进位4步就是结果,有进位重复本步左移<<一位与&4步结果)
减法把负数转码为正数进行加法操作;
乘法把就是被乘数与被乘数进行了乘数次的加法运算;
除法运算就是进行了减法与乘法的重复过程。
那么我们控制运算的时候是否可以减少重复繁琐的运算,直接定义一个常量存储一个结果呢。