首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

左移运算符得到移除位解决思路

2012-01-12 
左移运算符得到移除位byte b 0x01int re b1但是得到的是0而不是1,我想得到移除的那个位该怎么办呢

左移运算符得到移除位
byte b = 0x01;
int re = b>>1;
但是得到的是0而不是1,我想得到移除的那个位该怎么办呢

[解决办法]
byte b = 0x01; // 00000001
你要的是0x01的1,还是00000001的1?

int hex = b & 0xF;
int bin = b & 0x1;

[解决办法]

Java code
byte b = 0x01;int re = b & 0x01; //这样就得到最低1位了如果要循环不断取最低位for (int i=0; i<8; i++) {    int re = (b>>i) & 0x01;}
[解决办法]
探讨
我就是想循环右移,得到一个byte的所有位。

[解决办法]
探讨
引用:
我就是想循环右移,得到一个byte的所有位。

那就用for循环
Java code
byte b = 0x01;
for (int i=0; i<8; i++) {
int re = (b>>i) &amp; 0x01;
System.out.println(re);
}

热点排行