<strike id="xh1ss"><address id="xh1ss"></address></strike>
  1. <legend id="xh1ss"></legend>
  2. 更多課程 選擇中心

    嵌入式培訓
    達內IT學院

    400-111-8989

    嵌入式教程分享:如何運用嵌入式位運算

    • 發布:嵌入式培訓
    • 來源:嵌入式教程
    • 時間:2019-02-14 16:20

    作為嵌入式工程師你可以巧妙的使用位運算嗎?你知道怎么運用可以讓嵌入式系統更穩定嗎?下面小編就和大家分享一下:巧用位運算,讓嵌入式系統更快更穩定

    嵌入式培訓位運算

    一、位運算加速技巧

    本方法可以讓C語言指令進一步接近匯編指令的執行效率,提高單片機、嵌入式系統的速度和穩定性,但編程時應采取函數化的編程法——例如使用swap()函數時,必要時加注釋。

    注:本例涉及一些計算機原理的思想,較為抽象,讀者可利用1和2(01和10)等簡單的數字進行驗證,并上機實驗,以加深印象。

    0.位運算心法:(掌握粗體字)

    &(與邏輯):有0出0,全1出1;

    |(或邏輯):有1出1,全0出0;

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

    ^(異或):相異出1,相同出0;

    1. 如果乘上一個2的倍數數值,可以改用左移運算(Left Shift) 加速 300%

    x = x * 2;

    x = x * 64;

    //改為:

    x = x << 1; // 2 == 21

    x = x << 6; // 64 == 26

    2. 如果除上一個 2 的倍數數值,可以改用右移運算加速 350%

    x = x / 2;

    x = x / 64;

    //改為:

    x = x >> 1; // 2 == 21

    x = x >> 6; // 64 == 26

    3. 數值轉整數加速 10%

    x = int(1.232)

    //改為:

    x = 1.232 >> 0;

    4. 交換兩個數值(swap),使用 XOR 可以加速20%

    var t:int = a;

    a = b;

    b = t;

    //equals:

    a = a^b;

    b = a^b;

    a = a^b;

    5. 正負號轉換,可以加入 300%

    i = -i;

    //改為

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

    //或

    i = (i ^ -1) + 1; // XOR 寫法

    6. 取余數,如果除數為 2 的倍數,可利用 AND 運算加速 600%

    x = 131 % 4;

    //equals:

    x = 131 & (4 - 1);

    7. 利用 AND 運算檢查整數是否為 2 的倍數,可以加速 600%

    isEven = (i % 2) == 0;

    //equals:

    isEven = (i & 1) == 0;

    8. 加速 Math.abs 600% 的寫法1,寫法2 又比寫法1加速 20%

    //寫法1

    i = x < 0 ? -x : x;

    //寫法2

    i = (x ^ (x >> 31)) - (x >> 31);

    //寫法3

    i=x^(~(x>>31)+1)+(x>>31);

    9. 比較兩數值相乘之后是否擁有相同的符號,加速 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;

    上面的技巧你學會了嗎?如果你恰恰對嵌入式也是非常感興趣,歡迎來達內參加2月份嵌入式培訓,2月14日達內贈送到訪情侶電影票,情侶表明學費立減1314元,活動僅一天呦!有興趣的小伙伴快來報名吧!

    預約申請免費試聽課

    填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

    上一篇:嵌入式教程:嵌入式入門知識點匯總
    下一篇:達內嵌入式培訓課程大綱

    裸編程怎么做?裸編程具體做法

    嵌入式編程中你必須知道的小知識

    嵌入式C語言編程小知識總結

    有哪些工具可以讓嵌入式開發事半功倍?

    • 掃碼領取資料

      回復關鍵字:視頻資料

      免費領取 達內課程視頻學習資料

    • 視頻學習QQ群

      添加QQ群:1143617948

      免費領取達內課程視頻學習資料

    Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

    選擇城市和中心
    黑龍江省

    吉林省

    河北省

    湖南省

    貴州省

    云南省

    廣西省

    海南省

    黄色一级全祼,欧美一级aa片,一级毛卡片,一级特黄大片,三级片视频 百度 好搜 搜狗
    <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>