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