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

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

3天內不再提示

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

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

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

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

x=x+1;

在大多數微機匯編語(yǔ)言為例,產(chǎn)生的代碼類(lèi)似于:

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

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

incr x           ;x加1

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

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

提取公共表達式

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

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

不好的代碼:

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;

另一個(gè)例子,不好的代碼:

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

    關(guān)注

    180

    文章

    7549

    瀏覽量

    131565
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4589

    瀏覽量

    67236
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1586

    瀏覽量

    48782
收藏 人收藏

    評論

    相關(guān)推薦

    無(wú)線(xiàn)充電怎么提高效率呢,急需

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

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

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

    通過(guò)禁用文件緩沖提高效率

    通過(guò)禁用文件緩沖提高效率在每次文件I/O操作中,LabVIEW調用操作系統(OS)并請求在文件和磁盤(pán)之間傳輸數據,調默認狀態(tài)下LabVIEW啟用緩沖。緩沖減少了操作系統訪(fǎng)問(wèn)磁盤(pán)的次數并減少了處理時(shí)間
    發(fā)表于 03-16 09:17

    Python常用運算寫(xiě)法

    在學(xué)習任何一種編程語(yǔ)言,運算方法的學(xué)習是不可避免的,其中運算符++的使用也是其中的重點(diǎn),很多人容易弄不明白其用法,尤其是在Python中,其用法更加的不同!我們可以寫(xiě)個(gè)實(shí)例來(lái)說(shuō)明一
    發(fā)表于 04-09 17:45

    LTC7803如何提高效率和EMI標準合規性?

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

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

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

    keil5提高效率的技巧

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

    單片機驅動(dòng)LCD如果提高效率?

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

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

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

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

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

    提高效率——如何將雙向功率流集成到UPS設計中(第一部分)

    提高效率——如何將雙向功率流集成到UPS設計中(第一部分)
    發(fā)表于 11-01 08:27 ?0次下載
    為<b class='flag-5'>提高效率</b>——如何將雙向功率流集成到UPS設計中(第一部分)

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

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

    LFPAK88是提高效率的捷徑

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

    帶有快速體二極管的MOSFET器件通過(guò)LLC拓撲和FREDFET來(lái)提高效率

    帶有快速體二極管的MOSFET器件通過(guò)LLC拓撲和FREDFET來(lái)提高效率
    的頭像 發(fā)表于 12-08 17:35 ?454次閱讀
    帶有快速體二極管的MOSFET器件通過(guò)LLC拓撲和FREDFET來(lái)<b class='flag-5'>提高效率</b>

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

    BOSHIDA ?提高效率的DC電源模塊設計技巧 設計高效率的BOSHIDA ?DC電源模塊可以幫助減少能源浪費和提高系統功耗,以下是一些設計技巧: 1. 選擇高效率的功率轉換器:選擇
    的頭像 發(fā)表于 02-26 14:27 ?227次閱讀
    <b class='flag-5'>提高效率</b>的DC電源模塊設計技巧
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看