Re: [問題] 修改某byte中幾個位元

看板C_and_CPP (C/C++)作者 (Alien)時間16年前 (2009/11/05 17:46), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #1Ayfxc_w (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1Ayfxc_w (C_and_CPP)