看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《Mal9 (馬英九)》之銘言: : 遇到的問題:比較好的更改位元做法 : 希望得到的正確結果:比較smart的寫法 : 使用語言:C : 在寫8-bit微處理器的過程中需要更改並做判斷其中的幾個位元 : BYTE: test : _ _ _ _ _ _ _ _ 想到的寫法是 先右移2 bits 修改完以後再左移 : 0 0 0 並且還原 bit 0 & bit 1 : 0 0 1 : 0 1 0 請問這有比較聰明的寫法嗎? : 0 1 1 : . 感謝 : . : . : 1 1 1 其實不太懂你的意思是什麼. 一般來説, 要檢查第 n 個 bit 是不是 1, 做的是: if (data & (1 << n)) { ... } 要設某 bit 是 1, 做的是 data |= (1 << n); 就這樣吧?... alien -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 202.155.236.82