问题描述:
以 if(a==b) 和 a++ 为例。
判断本身(不包含判断后需要执行的代码)和自加运算哪个效率高?
a,b都是两位数
问题解答:
操作系统先从指令寄存器获取指令,然后计算变量的物理地址,把变量值从代码段提出出来,进行操作完后再返回其值。。。这中间效率不低。。。 当然了;a++ 是比a=a+1 效率要高很多,毕竟a++只提取一次变量, 而后者提取2次!所以鼓励人使用复合运算符;比方说 += -= *= /= %= 等等
我觉得应该是后者效率要高些。因为前者是在内存中读a然后再读b,最后再判断。而后者是在内存中取a然后加1就ok了。