使用自增自減運算提高效率
在使用到加一和減一操作時盡量使用增量和減量操作符,因為增量符語句比賦值語句更快,原因在于對大多數CPU來說,對內存字的增、減量操作不必明顯地使用取內存和寫內存的指令,比如下面這條語句:
x=x+1;
在大多數微機匯編語言為例,產生的代碼類似于:
move A,x ;把x從內存取出存入累加器A
add A,1 ;累加器A加1
store x ;把新值存回x
而如果使用增量操作符,則會有相對應的指令支持,生成的代碼如下:
incr x ;x加1
顯然,不用取指令和存指令,增、減量操作執行的速度加快,同時長度也縮短了。
同樣的,復合賦值表達式 ( 如 a -= 1 及 a += 1 等 ) 都能夠生成高質量的程序代碼。
提取公共表達式
在某些情況下,C編譯器不能從浮點表達式中提出公共的子表達式,因為這意味著相當于對表達式重新排序。
然而編譯器在提取公共子表達式前不能按照代數的等價關系重新安排表達式。這時,程序員需要手動地提出公共的子表達式。
不好的代碼:
float a, b, c, d, e, f;
...
e = b * c / d;
f = b / d * a;
推薦的代碼:
float a, b, c, d, e, f;
...
const float t = (b / d);
e = c * t;
f = a * t;
另一個例子,不好的代碼:
float a, b, c, e, f;
...
e = a / c;
f = b / c;
推薦的代碼:
float a, b, c, e, f;
。。。
const float t = (1.0f / c);
e = a * t;
f = b * t;
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
180文章
7608瀏覽量
137135 -
代碼
+關注
關注
30文章
4803瀏覽量
68750 -
編譯器
+關注
關注
1文章
1636瀏覽量
49173
發布評論請先 登錄
相關推薦
明德揚視頻分享點撥FPGA課程--第二十章??提高效率技巧
第二十章提高效率技巧1. 利用GVIM制作模板http://yunpan.cn/cjZTiDA9pY56x訪問密碼 c359
發表于 11-07 09:22
Python常用自增運算寫法
在學習任何一種編程語言,運算方法的學習是不可避免的,其中自增運算符++的使用也是其中的重點,很多人容易弄不明白其用法,尤其是在Python中,其用法更加的不同!我們可以寫個實例來說明一
發表于 04-09 17:45
如何使用UCC28056優化過渡模式PFC設計來提高效率和待機功耗?
本應用指南介紹了使用 UCC28056 優化過渡模式 PFC 設計以提高效率和待機功耗的設計決策。
發表于 06-17 06:52
keil5提高效率的技巧
keil5提高效率的技巧:1.編寫程序時右鍵點擊即可快速添加頭文件。2.固定模板可以在“Templates”中寫入,使用時可直接引用。3.模塊化編程,即編寫頭文件,之前的博客有提到,這里不再贅述。...
發表于 01-12 07:53
卡套管的使用有助于提高效率并達到更合格的標準
卡套管的使用有助于提高效率并達到更合格的標準
Enhancing Efficient and Reaching Higher Standard by using Clip Tubes
發表于 03-14 17:26
?11次下載
LFPAK88是提高效率的捷徑
Nexperia的LFPAK88不使用內部焊線,減小了源極引腳長度,從而最大程度地減少在開關過程中產生的寄生源極電感,以此提高效率。 無引腳(QFN)封裝或開爾文源極連接等備選方案也具有類似的優點,但它們也存在很大的缺陷,這就使得“提高效率的捷徑”LFPAK88成為我們的
發表于 02-10 09:38
?791次閱讀
NIKKEI邏輯整合Brocade SAN以提高效率和安全性
電子發燒友網站提供《NIKKEI邏輯整合Brocade SAN以提高效率和安全性.pdf》資料免費下載
發表于 08-30 10:36
?0次下載
提高效率的DC電源模塊設計技巧
BOSHIDA ?提高效率的DC電源模塊設計技巧 設計高效率的BOSHIDA ?DC電源模塊可以幫助減少能源浪費和提高系統功耗,以下是一些設計技巧: 1. 選擇高效率的功率轉換器:選擇
評論