byte bt = (byte) rand.nextInt();
BitSet bb = new BitSet();
for (int i = 7; i >= 0; i--)
if (((1 << i) & bt) != 0)
bb.set(i);
else
bb.clear(i);
在该代码块中if(((1 << i) &bt)!= 0)是用来判断什么条件?
BitSet bb = new BitSet();
for (int i = 7; i >= 0; i--)
if (((1 << i) & bt) != 0)
bb.set(i);
else
bb.clear(i);
在该代码块中if(((1 << i) &bt)!= 0)是用来判断什么条件?
解决方案 »
- 求解ant远程tomcat部署问题?
- vnc(远程监控)
- j2ee1.5 客户端程序抛出空指针异常了 ...
- javabean 的 sql字符串的问题
- 请教为什么出现这个错误??急啊!
- struts的validator客户端验证如何避免导入不需要的验证函数
- Spring中@Transactional注解打在Controller层的方法上不起作用
- 学习servlet及javabean三周后的认识..是否正确
- 如何在Jbuilder中创建基于struts的web应用
- 遇到个奇怪的问题,求人指点下。
- spring3.0整合hibernate3.3 save is not valid without active transacton
- 求助:Socket传输Object类型时,出现ClassNotFound异常
byte bt = (byte) rand.nextInt()
产生一个-128-127的整数(byte:一个字节8位)
2)if (((1 << i) & bt) != 0)左移一位(相当于乘2) 与产生的整型型按位与 ,判断结果是否为0
for (int i = 7; i >= 0; i--) {
if (((1 << i) & bt) != 0)
bb.set(i);
else
bb.clear(i);
}
具体细节是 1左移i位后,得到一个只有第i位为1的数据,在与上bt,如果结果不为零,
则表示bt第i位为1,bb在第i位设为真,反之设为假。