91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

位運算加速技巧

本方法可以讓C語言指令進一步接近匯編指令的執(zhí)行效率,提高單片機、嵌入式系統(tǒng)的速度和穩(wěn)定性,但編程時應采取函數化的編程法——例如使用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 == 21x = x << 6; // 64 == 262. 如果除上一個 2 的倍數數值,可以改用右移運算加速?350%x = x / 2;x = x / 64;

//改為:x = x >> 1; // 2 == 21x = x >> 6; // 64 == 263. 數值轉整數加速 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%//寫法1i = x < 0 ? -x : x;//寫法2i = (x ^ (x >> 31)) - (x >> 31);//寫法3i=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;

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

    關注

    5200

    文章

    20459

    瀏覽量

    334371
  • 位運算
    +關注

    關注

    0

    文章

    17

    瀏覽量

    8674

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    arm嵌入式主板優(yōu)缺點

    ,ARM嵌入式主板作為單芯片系統(tǒng),幾乎只需要極少的外圍電路就可以功能順利進行。第二,穩(wěn)定系統(tǒng),除了要有
    發(fā)表于 01-08 07:08

    系統(tǒng)嵌入式的學習路線

    比較簡單,硬件工程師工作的含金量主要體現在產品的可靠性和穩(wěn)定性設計、以及電磁兼容設計,這才是硬件設計工程師的含金量所在。 一個資深的嵌入式硬件工程師年薪都在10萬~ 30萬之間。 要成為一個資深
    發(fā)表于 12-16 07:49

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

    要理解嵌入式操作系統(tǒng)(Embedded Operating System,簡稱 RTOS/EOS),我們可以從本質定義→核心區(qū)別→實際作用→典型特征→嵌入式開發(fā)場景適配,五個維度來拆解, 一
    發(fā)表于 12-09 10:33

    嵌入式系統(tǒng)的定義和應用領域

    在一起,共同構成了一個高效、穩(wěn)定的工作系統(tǒng)。 其實,嵌入式系統(tǒng)的概念與個人PC有著相似的底層邏輯。單片機,作為單個芯片上的計算機系統(tǒng),其定
    發(fā)表于 11-17 06:49

    嵌入式實時操作系統(tǒng)的特點

    通常具有以下特點: 快速響應:實時嵌入式操作系統(tǒng)能夠迅速響應外部事件或任務請求,以滿足實時任務的時間要求。 穩(wěn)定性和可靠性:實時嵌入式操作系統(tǒng)
    發(fā)表于 11-13 06:30

    嵌入式工控機:工業(yè)自動化的核心運算單元

    在工業(yè)自動化、智能制造、智能交通等領域,嵌入式工控機作為“工業(yè)大腦”,承擔著數據采集、邏輯運算、設備控制等關鍵任務。它并非普通商用電腦的工業(yè)版,而是基于嵌入式技術設計,能在復雜工業(yè)環(huán)境中穩(wěn)定
    的頭像 發(fā)表于 11-04 15:50 ?581次閱讀
    <b class='flag-5'>嵌入式</b>工控機:工業(yè)自動化的核心<b class='flag-5'>運算</b>單元

    嵌入式需要掌握哪些核心技能?

    : 1)C語言與底層編程 核心地位:C語言是嵌入式開發(fā)的基石,需精通指針操作、內存管理、運算,直接操控硬件資源。 延伸技能:C++用于復雜項目架構設計,匯編語言優(yōu)化底層性能(如啟動代碼、中斷處理
    發(fā)表于 10-21 16:25

    油介質損耗及電阻率測試儀的嵌入式系統(tǒng)架構與抗干擾設計

    油介質損耗及電阻率測試儀的精準檢測能力,不僅依賴于核心的電氣測量模塊與溫控系統(tǒng),更離不開穩(wěn)定可靠的嵌入式系統(tǒng)作為“中樞神經”。嵌入式
    的頭像 發(fā)表于 09-02 13:57 ?560次閱讀
    油介質損耗及電阻率測試儀的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>架構與抗干擾設計

    廣州郵科嵌入式通信電源系統(tǒng):提升通信設備穩(wěn)定性與效率的關鍵

    在今天的信息化社會,嵌入式通信電源系統(tǒng)已經成為許多通信設備的核心組成部分。特別是在廣州郵科,嵌入式通信電源系統(tǒng)不僅確保了設備的穩(wěn)定運行,還極
    的頭像 發(fā)表于 08-30 11:01 ?622次閱讀
    廣州郵科<b class='flag-5'>嵌入式</b>通信電源<b class='flag-5'>系統(tǒng)</b>:提升通信設備<b class='flag-5'>穩(wěn)定</b>性與效率的關鍵

    芯科科技MCU助力低功耗高效嵌入式系統(tǒng)設計

    當考慮提升嵌入式系統(tǒng)速度或能效時,腦海中浮現的可能是更快的CPU或更智能的睡眠模式。但如果我告訴您,Silicon Labs(芯科科技)微控制器(MCU)內部藏著一無名英雄,能在完全
    的頭像 發(fā)表于 07-29 16:26 ?1647次閱讀

    運行在嵌入式系統(tǒng)上的emApps

    在當今快節(jié)奏的嵌入式系統(tǒng)世界中,靈活性和適應性是嵌入式系統(tǒng)實現的關鍵。SEGGER推出了其最新創(chuàng)新:Embedded apps(emApps)應用,類似于手機上的應用程序,可以運行在
    的頭像 發(fā)表于 06-18 09:53 ?879次閱讀
    運行在<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>上的emApps

    壁掛工控一體機廠家聚徽解析核心技術:嵌入式架構如何提升工業(yè)穩(wěn)定性?

    的應用,探討其如何增強工業(yè)生產的穩(wěn)定性與可靠性。 嵌入式架構的硬件基石 高性能處理器的卓越運算 嵌入式架構中的工業(yè)級高性能處理器,堪稱壁掛
    的頭像 發(fā)表于 06-05 14:05 ?738次閱讀

    飛凌嵌入式2025嵌入式及邊緣AI技術論壇圓滿結束

    飛凌嵌入式「2025嵌入式及邊緣AI技術論壇」在深圳深鐵皇冠假日酒店盛大舉行,此次活動邀請到了200余嵌入式技術領域的技術專家、企業(yè)代表和工程師用戶,共享
    的頭像 發(fā)表于 04-28 13:57 ?4151次閱讀
    飛凌<b class='flag-5'>嵌入式</b>2025<b class='flag-5'>嵌入式</b>及邊緣AI技術論壇圓滿結束

    高可靠性嵌入式主板設計

    設計直接影響整個系統(tǒng)穩(wěn)定性和壽命。因此,設計高可靠性的嵌入式主板不僅是技術挑戰(zhàn),也是提高產品競爭力的關鍵因素。本文將深入探討高可靠性嵌入式主板設計的各個方面,包括硬件選型
    的頭像 發(fā)表于 03-25 15:11 ?1091次閱讀
    高可靠性<b class='flag-5'>嵌入式</b>主板設計

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

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