Re: [問題] Byte的問題
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
java 近期熱門文章
PTT數位生活區 即時熱門文章