0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何使用自增自減運算提高效率

麥辣雞腿堡 ? 來源:軒哥談芯 ? 作者:Debug ? 2023-11-21 11:29 ? 次閱讀

使用自增自減運算提高效率

在使用到加一和減一操作時盡量使用增量和減量操作符,因為增量符語句比賦值語句更快,原因在于對大多數(shù)CPU來說,對內(nèi)存字的增、減量操作不必明顯地使用取內(nèi)存和寫內(nèi)存的指令,比如下面這條語句:

x=x+1;

在大多數(shù)微機匯編語言為例,產(chǎn)生的代碼類似于:

move A,x      ;把x從內(nèi)存取出存入累加器A
add A,1       ;累加器A1
store x        ;把新值存回x

而如果使用增量操作符,則會有相對應的指令支持,生成的代碼如下:

incr x           ;x加1

顯然,不用取指令和存指令,增、減量操作執(zhí)行的速度加快,同時長度也縮短了。

同樣的,復合賦值表達式 ( 如 a -= 1 及 a += 1 等 ) 都能夠生成高質(zhì)量的程序代碼

提取公共表達式

在某些情況下,C編譯器不能從浮點表達式中提出公共的子表達式,因為這意味著相當于對表達式重新排序。

然而編譯器在提取公共子表達式前不能按照代數(shù)的等價關系重新安排表達式。這時,程序員需要手動地提出公共的子表達式。

不好的代碼:

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;
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關注

    關注

    180

    文章

    7594

    瀏覽量

    135862
  • 代碼
    +關注

    關注

    30

    文章

    4722

    瀏覽量

    68234
  • 編譯器
    +關注

    關注

    1

    文章

    1617

    瀏覽量

    49015
收藏 人收藏

    評論

    相關推薦

    無線充電怎么提高效率呢,急需

    無線充電怎么提高效率呢,急需
    發(fā)表于 10-19 10:43

    明德?lián)P視頻分享點撥FPGA課程--第二十章??提高效率技巧

    第二十章提高效率技巧1. 利用GVIM制作模板http://yunpan.cn/cjZTiDA9pY56x訪問密碼 c359
    發(fā)表于 11-07 09:22

    Python常用運算寫法

    在學習任何一種編程語言,運算方法的學習是不可避免的,其中運算符++的使用也是其中的重點,很多人容易弄不明白其用法,尤其是在Python中,其用法更加的不同!我們可以寫個實例來說明一
    發(fā)表于 04-09 17:45

    LTC7803如何提高效率和EMI標準合規(guī)性?

    降壓型轉換器的電氣原理圖LTC7803如何提高效率和EMI標準合規(guī)性
    發(fā)表于 03-11 06:25

    如何使用UCC28056優(yōu)化過渡模式PFC設計來提高效率和待機功耗?

    本應用指南介紹了使用 UCC28056 優(yōu)化過渡模式 PFC 設計以提高效率和待機功耗的設計決策。
    發(fā)表于 06-17 06:52

    keil5提高效率的技巧

    keil5提高效率的技巧:1.編寫程序時右鍵點擊即可快速添加頭文件。2.固定模板可以在“Templates”中寫入,使用時可直接引用。3.模塊化編程,即編寫頭文件,之前的博客有提到,這里不再贅述。...
    發(fā)表于 01-12 07:53

    單片機驅(qū)動LCD如果提高效率?

    單片機驅(qū)動LCD如果提高效率
    發(fā)表于 10-23 07:44

    卡套管的使用有助于提高效率并達到更合格的標準

    卡套管的使用有助于提高效率并達到更合格的標準 Enhancing Efficient and Reaching Higher Standard by using Clip Tubes
    發(fā)表于 03-14 17:26 ?11次下載

    AN144-通過靜默交換機設計降低EMI并提高效率

    AN144-通過靜默交換機設計降低EMI并提高效率
    發(fā)表于 05-07 15:27 ?6次下載
    AN144-通過靜默交換機設計降低EMI并<b class='flag-5'>提高效率</b>

    圓柱電池分選機怎么提高效率

    深成科技:深圳圓柱電池分選機怎么提高效率?
    發(fā)表于 12-28 17:54 ?546次閱讀

    使用 DSN2 肖特基二極管提高效率

    使用 DSN2 肖特基二極管提高效率
    發(fā)表于 11-15 20:25 ?0次下載
    使用 DSN2 肖特基二極管<b class='flag-5'>提高效率</b>

    LFPAK88是提高效率的捷徑

    Nexperia的LFPAK88不使用內(nèi)部焊線,減小了源極引腳長度,從而最大程度地減少在開關過程中產(chǎn)生的寄生源極電感,以此提高效率。 無引腳(QFN)封裝或開爾文源極連接等備選方案也具有類似的優(yōu)點,但它們也存在很大的缺陷,這就使得“提高效率的捷徑”LFPAK88成為我們的
    發(fā)表于 02-10 09:38 ?745次閱讀
    LFPAK88是<b class='flag-5'>提高效率</b>的捷徑

    NIKKEI邏輯整合Brocade SAN以提高效率和安全性

    電子發(fā)燒友網(wǎng)站提供《NIKKEI邏輯整合Brocade SAN以提高效率和安全性.pdf》資料免費下載
    發(fā)表于 08-30 10:36 ?0次下載
    NIKKEI邏輯整合Brocade SAN以<b class='flag-5'>提高效率</b>和安全性

    提高效率的DC電源模塊設計技巧

    BOSHIDA ?提高效率的DC電源模塊設計技巧 設計高效率的BOSHIDA ?DC電源模塊可以幫助減少能源浪費和提高系統(tǒng)功耗,以下是一些設計技巧: 1. 選擇高效率的功率轉換器:選擇
    的頭像 發(fā)表于 02-26 14:27 ?485次閱讀
    <b class='flag-5'>提高效率</b>的DC電源模塊設計技巧

    D類放大器中用于提高效率的 Y 橋應用說明

    電子發(fā)燒友網(wǎng)站提供《D類放大器中用于提高效率的 Y 橋應用說明.pdf》資料免費下載
    發(fā)表于 09-13 11:03 ?0次下載
    D類放大器中用于<b class='flag-5'>提高效率</b>的 Y 橋應用說明