Re: [問題] Byte的問題

看板java作者 (夜夢紛)時間19年前 (2006/04/27 02:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
※ 引述《H45 (!H45)》之銘言: : =Local Saved= : ※ 引述《kangta198109 (北極星願￾N)》之銘言: : : 請問一下怎麼從Byte中讀出一個bit : : 判斷他是0還是1?? : : 多謝 : =Local Saved= : public static void printbit( byte input ) : { : int bitmask = 128; : do { : if( (bitmask & input) > 0 ) : System.out.print( 1 ); : else : System.out.print( 0 ); : bitmask >>= 1; : } while( bitmask > 0); : } 我冒昧幫寫這位大大寫一下comment: 這是 bit operation慣用技巧...用 bitmask..寫driver的人常會碰到. bitmask=128=0x10000000; 從MSB開始做bit AND運算...若該bit為1, 則 &出來為 1, 若為0, &出來為0 然後把0x10000000=> right shift為0x01000000 往下一個bit做.... 直到8 bit 都跑完..... 若想指定哪個 bit 則先shift在去做 mask....... mask通常取 0x00000001 or 0x10000000 ...... 若講錯請指教.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.93.147
文章代碼(AID): #14JxerVO (java)
討論串 (同標題文章)
文章代碼(AID): #14JxerVO (java)