一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

位運算讓嵌入式系統(tǒng)更快更穩(wěn)定

5RJg_mcuworld ? 來源:cc ? 2019-02-15 08:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

位運算加速技巧

本方法可以讓C語言指令進一步接近匯編指令的執(zhí)行效率,提高單片機、嵌入式系統(tǒng)的速度和穩(wěn)定性,但編程時應(yīng)采取函數(shù)化的編程法——例如使用swap()函數(shù)時,必要時加注釋。注:本例涉及一些計算機原理的思想,較為抽象,讀者可利用1和2(01和10)等簡單的數(shù)字進行驗證,并上機實驗,以加深印象。0.位運算心法:(掌握粗體字)&(與邏輯):有0出0,全1出1;|(或邏輯):有1出1,全0出0;

~(非邏輯):空即是色,色即是空;

^(異或):相異出1,相同出0;1. 如果乘上一個2的倍數(shù)數(shù)值,可以改用左移運算(Left Shift) 加速 300%x = x * 2;x = x * 64;

//改為:

x = x << 1; // 2 == 21x = x << 6; // 64 == 262. 如果除上一個 2 的倍數(shù)數(shù)值,可以改用右移運算加速?350%x = x / 2;x = x / 64;

//改為:x = x >> 1; // 2 == 21x = x >> 6; // 64 == 263. 數(shù)值轉(zhuǎn)整數(shù)加速 10%x = int(1.232)

//改為:x = 1.232 >> 0;4. 交換兩個數(shù)值(swap),使用 XOR 可以加速20%var t:int = a;a = b;b = t;

//equals:

a = a^b;b = a^b;a = a^b;5. 正負(fù)號轉(zhuǎn)換,可以加入 300%i = -i;

//改為

i = ~i + 1; // NOT 寫法

//或

i = (i ^ -1) + 1; // XOR 寫法6. 取余數(shù),如果除數(shù)為 2 的倍數(shù),可利用 AND 運算加速 600%x = 131 % 4;

//equals:

x = 131 & (4 - 1);7. 利用 AND 運算檢查整數(shù)是否為 2 的倍數(shù),可以加速 600%isEven = (i % 2) == 0;//equals:isEven = (i & 1) == 0;8. 加速 Math.abs 600% 的寫法1,寫法2 又比寫法1加速 20%//寫法1i = x < 0 ? -x : x;//寫法2i = (x ^ (x >> 31)) - (x >> 31);//寫法3i=x^(~(x>>31)+1)+(x>>31);9. 比較兩數(shù)值相乘之后是否擁有相同的符號,加速 35%eqSign = a * b > 0;//equals:eqSign = a ^ b > 0;

其它位運算技巧

1. RGB 色彩分離var 24bitColor:uint = 0xff00cc;var r:uint = 24bitColor >> 16;var g:uint = 24bitColor >> 8 & 0xFF;var b:uint = 24bitColor & 0xFF;2. RGB 色彩合并var r:uint = 0xff;var g:uint = 0x00;var b:uint = 0xcc;var 24bitColor:uint = r << 16 | g << 8 | b;

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

    關(guān)注

    5148

    文章

    19644

    瀏覽量

    316982
  • 位運算
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8560

原文標(biāo)題:巧用位運算,讓嵌入式系統(tǒng)更快更穩(wěn)定!

文章出處:【微信號:mcuworld,微信公眾號:嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    如何正確選擇嵌入式文件系統(tǒng)?

    Linux嵌入式系統(tǒng)中,文件系統(tǒng)和緩存機制常導(dǎo)致數(shù)據(jù)存儲穩(wěn)定性問題。本文通過案例分析原因,對比不同文件系統(tǒng)特性,為開發(fā)者提供優(yōu)化建議,助力提
    的頭像 發(fā)表于 03-17 11:35 ?489次閱讀
    如何正確選擇<b class='flag-5'>嵌入式</b>文件<b class='flag-5'>系統(tǒng)</b>?

    速度更快,傳輸更穩(wěn)定的工業(yè)相機COF接口

    工業(yè)相機的數(shù)據(jù)接口之一COF接口,速度更快,傳輸更穩(wěn)定的。
    的頭像 發(fā)表于 03-10 17:32 ?458次閱讀
    速度<b class='flag-5'>更快</b>,傳輸<b class='flag-5'>更穩(wěn)定</b>的工業(yè)相機COF接口

    MPU在嵌入式系統(tǒng)中的應(yīng)用

    它們。這包括算術(shù)運算、邏輯運算和數(shù)據(jù)傳輸?shù)炔僮鳌?數(shù)據(jù)處理:MPU能夠?qū)?shù)據(jù)進行處理,包括數(shù)據(jù)的讀取、寫入、存儲和傳輸。 控制:MPU控制嵌入式系統(tǒng)中的其他硬件設(shè)備,如傳感器、執(zhí)行器和
    的頭像 發(fā)表于 01-08 09:26 ?879次閱讀

    LDO在嵌入式系統(tǒng)中的應(yīng)用 常見LDO故障及解決方法

    的應(yīng)用及其常見故障和解決方法的概述。 應(yīng)用場景 電源轉(zhuǎn)換 :LDO可以將電池電壓或其他電源電壓轉(zhuǎn)換為嵌入式系統(tǒng)所需的穩(wěn)定電壓。 噪聲抑制 :LDO能有效降低電源線上的噪聲,為敏感的模擬電路提供干凈的電源。 功耗管理 :在低功耗應(yīng)
    的頭像 發(fā)表于 12-13 09:08 ?2249次閱讀

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)開發(fā)常見問題解決

    嵌入式系統(tǒng)開發(fā)與硬件的關(guān)系 嵌入式系統(tǒng)是專為特定應(yīng)用設(shè)計的計算機系統(tǒng),它們通常嵌入在所控制的設(shè)備
    的頭像 發(fā)表于 12-09 09:38 ?948次閱讀

    什么是嵌入式操作系統(tǒng)?

    是給設(shè)備裝上了節(jié)能燈。 所以,嵌入式操作系統(tǒng)就像是智能設(shè)備的大腦,設(shè)備能夠聽、說、行動,而且它們還在不斷進化,變得越來越聰明。未來,它們可能會成為我們生活中不可或缺的一部分,世界變
    發(fā)表于 11-08 15:07

    嵌入式系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合

    隨著科技的飛速發(fā)展,嵌入式系統(tǒng)和物聯(lián)網(wǎng)(IoT)已經(jīng)成為現(xiàn)代技術(shù)領(lǐng)域的重要組成部分。嵌入式系統(tǒng)是指嵌入到設(shè)備或
    的頭像 發(fā)表于 11-06 10:23 ?1086次閱讀

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設(shè)備的快速發(fā)展,嵌入式系統(tǒng)在各個領(lǐng)域扮演著越來越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)
    的頭像 發(fā)表于 11-06 10:22 ?1181次閱讀

    嵌入式學(xué)習(xí)建議

    ,最好能有自己動手的空間。不花一分硬件錢想要學(xué)好嵌入式系統(tǒng)不實際,因為這是實踐性很強的學(xué)科。好書,可以人少走彎路,不被誤導(dǎo)。好老師也可以是做過一些實際項目的學(xué)長(一定要找做過幾個成功項目的學(xué)長或老師做
    發(fā)表于 10-22 11:41

    什么是嵌入式?一文讀懂嵌入式主板

    在現(xiàn)代科技浪潮中,嵌入式技術(shù)已成為支撐各種智能設(shè)備和系統(tǒng)運行的核心力量。那么,究竟什么是嵌入式?嵌入式系統(tǒng),顧名思義,是將計算機的硬件和軟件
    的頭像 發(fā)表于 10-16 10:14 ?2570次閱讀

    AMD 面向嵌入式系統(tǒng)推出高能效 EPYC 嵌入式 8004 系列

    領(lǐng)先地位。 ? AMD EPYC 嵌入式 8004 系列處理器專為計算密集型嵌入式系統(tǒng)所設(shè)計,可為高需求工作負(fù)載提供卓越性能,同時以緊湊的尺寸規(guī)格最大限度為空間和功率受限型應(yīng)用提升能效。它還集成了一整套
    發(fā)表于 10-11 13:58 ?1053次閱讀

    嵌入式系統(tǒng)的原理和應(yīng)用

    嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),其設(shè)計初衷是執(zhí)行特定任務(wù),而非作為通用計算機使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的
    的頭像 發(fā)表于 10-05 17:03 ?2179次閱讀

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被稱為嵌入式系統(tǒng)的核心組件,是一種用于控制和數(shù)據(jù)處理的計算機硬件,其設(shè)計旨在嵌入特定設(shè)備中執(zhí)行專門任務(wù)。嵌入式主板如同是設(shè)備
    的頭像 發(fā)表于 09-30 10:05 ?1595次閱讀

    嵌入式系統(tǒng)的未來趨勢有哪些?

    嵌入式系統(tǒng)是指將我們的操作系統(tǒng)和功能軟件集成于計算機硬件系統(tǒng)之中,形成一個專用的計算機系統(tǒng)。那么嵌入式
    發(fā)表于 09-12 15:42

    嵌入式機電一體化系統(tǒng)設(shè)計與實現(xiàn)》讀后感

    更為深刻的理解。這本書不僅理論扎實,而且實踐性強,通過詳細的案例分析和操作步驟,為讀者展現(xiàn)了一個完整的設(shè)計和實現(xiàn)流程。 首先,本書開篇即對嵌入式系統(tǒng)進行了全面的概述,我對“嵌入”這一
    發(fā)表于 08-21 08:45