《基本功》使用位操作進行多狀態並存的指示和判斷

2021-06-28 12:23:43 字數 733 閱讀 1351

從底層學來的位操作,對於很多上層操作帶來了便利,例如多重狀態的並存判斷時,位操作顯示了其高效率的記憶體利用率。

例如:int  status = 0x0000  //總狀態

//後兩位表示開啟狀態

int start_status= 0x0001;

int stop_status = 0x0000;

//前兩位表示方向

int left_status = 0x0200;

int right_status = 0x0400;

int up_status = 0x0800;

當開啟裝置時

status |= start_status;

若左轉時

status |= left_status;

若右轉時

status |=right_status;

若右轉時

status |=up_status;

關閉時status &= stop_status;

判斷 判斷是否開啟

(status &= start_status) == start_status;

判斷是否右轉

(status &= right_status) == right_status;

判斷是否左轉

(status &= up_status) == up_status;

此方法有效減少了變數的個數,並在有2個以上狀態時,表現出優勢。

C C 程式設計基本功

c c 程式設計基本功 c 其內容精深博大,任何一塊都信手拈來者不多,究其精者更不多,不論何其原因,最重要一點就是其基本功之不紮實,對基礎性東西不加以精深研究。我也是一樣,經過幾輪經典的面試,讓我痛改以前的不紮實的作風,以此來磨礪自己。一 記憶體管理篇 乙個由c c 編譯的程式占用的記憶體分為以下幾...

基本功練習 2 26

型別轉換 先看下面一段程式,這段程式摘自 c專家程式設計 如果是有這樣一段程式的話,你永遠無法知道x的值到底是多少,因為這句賦值語句x array d 1 根本不會執行。原因在哪?經過除錯發現程式執行到if語句進行判斷完之後,直接跳過下面一條語句的執行。下面來分析一下原因,因為sizeof求算型別大...

機器學習基本功

1 回歸模型 重點關注xgboost 注 introduction to statistical learning的2 7章 2 分類模型 統計學習方法 3 神經網路 a 普通的ann b 處理影象的cnn c 處理文字和語音的rnn lstm 4 資料壓縮 視覺化 流行學習 manifold le...