浏览 364 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-03-27 关键字: java
请大侠们帮忙:
比如我现在有一个二进制的数 10111 现在我需要判断这个数的最低三位是否都为1 上面那个例子应该得到true 比如另外一个数 10001 或者 110 得值应该是false 这么说大家能理解么? 万望热心肠的朋友们帮忙,感激不尽 应该用Java里的哪个方法呢? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-03-27
赞楼上的解法,
与操作用的很巧妙。 我自己来写就做不到这么优雅。 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-27
很牛啊,谢谢了,不过能不能稍微解释一下boolean flg = (a == (a & b));
这里面的操作么? 我也想到了位运算,但是没想到这位运算还能那么巧妙 我差点拿if else 判断去 呵呵 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-27
似乎明白了
进行与操作时 对应位如果都是1会输出1 所以跟111相与的话,要是也输出111就解决了这个问题了 再次感谢,学到了很多东西 |
|
| 返回顶楼 | |
|
最后更新时间:2008-03-27
对了 我要做的操作肯定不会超出int的范围,也不会有负数的情况的
感谢啊 |
|
| 返回顶楼 | |



