作者mildman (夜梦纷)
看板java
标题Re: [问题] Byte的问题
时间Thu Apr 27 02:29:23 2006
※ 引述《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