1. 程式人生 > >C/C++代碼優化的一些總結

C/C++代碼優化的一些總結

str 總結 所有 代碼優化 十進制 代碼 amp 部分 取代

1、%(取余)操作可用&(位與)運算代替

當取余的分母為2的整倍數時,可用位與&運算取代,如a%2可用a&1取代,a%4可用a&3取代,a%8可用a&7取代...

分析:分母為2的整倍數,則當表示為二進制時,必然只有一位為1而其余全為0,由此,當某個數表示為二進制時,高於/等於該位的部分一定是該分母的整倍數,低於該位的部分則是余數。因此,要求余數,則通過將低於該位的所有位都置1來提取。亦即,如果低於該位的位數為2位,即二進制數11,即為十進制數3。

C/C++代碼優化的一些總結