今天学了一招

来源:互联网 发布:ubuntu安装依赖包 编辑:程序博客网 时间:2024/04/28 22:54
老大给了道题
1-2+3-4+5-6....

求和 要效率

初看了下
n为偶 s=n/2
n为奇  s= (n-1)/2+n

于是交卷,老大给我0分 - -!

-----------------------
问题的关键在于判断n是奇数还是偶数
怎么判断?
取模?取模的原理是什么
你知道6/2=3 可是计算机不知道
计算机还要3/2=1余1才知道
那么 n=10000000的时候呢?

OK~取最后一位来判断,2,4,6,8,0(理论上)

实现上直接把N值用来判断: nNum & 0x01 一条指令判断是0x01,0x00。不用去考虑取最后8个字节,反而增加了CPU指令数量。问题解决了

佩服啊~
原创粉丝点击