在這邊把一些單晶片有用到的一些概念記錄下來,自己忘了可以查,也可以幫忙想學習的人(真的不行,至少也可以硬記)

 

題目: a為FF(1111 1111),若想將bit4 ,bit5 ,bit6變為0,也就是1000 1111該怎麼做?

001

 

作法: 
先看到第六行程式碼先處理(0x7<<4)的部分,將7往左移4位,而7在二進制為0111,向左移動就補0,變為0111 0000 ,接下來處理~,也就是反向的意思,所以會變成1000 1111 ,接下來是處理&,也就是跟a做 AND 也就是將(1111 1111)*(1000 1111),AND的規則是有0就為0,可參照下面

     1111 1111  (此為FF)
 & 1000 1111  

-------------------
     1000 1111

將1000 1111轉成16進制為8F,我們也發現bit4 ,bit5 ,bit6,也變成0了

結論: 看要消除拿幾個bit,再將他以四位元的方式寫出來,在轉成10進制
再將剛剛的步驟帶入即可。

002

上圖是我在網路上查資料時覺得很標示的表達的蠻清楚的,所以拿來放在筆記上的

arrow
arrow
    創作者介紹
    創作者 凶王 的頭像
    凶王

    凶王的部落

    凶王 發表在 痞客邦 留言(0) 人氣()