在這邊把一些單晶片有用到的一些概念記錄下來,自己忘了可以查,也可以幫忙想學習的人(真的不行,至少也可以硬記)
題目: a為FF(1111 1111),若想將bit4 ,bit5 ,bit6變為0,也就是1000 1111該怎麼做?
作法:
先看到第六行程式碼先處理(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進制
再將剛剛的步驟帶入即可。
上圖是我在網路上查資料時覺得很標示的表達的蠻清楚的,所以拿來放在筆記上的
文章標籤
全站熱搜