java对位移运算越界的优化

原创 2007年09月21日 19:56:00
考察下面的代码输出结果是多少?
    int a=5;
    System.out.println(a<<33);
    按照常理推测,把a左移33位应该将a的所有有效位都移出去了,那剩下的都是零啊,所以输出结果应该是0才对啊,可是执行后发现输出结果是10,为什么呢?因为Java语言对位移运算作了优化处理,Java语言对a<<b转化为a<<(b%32)来处理,所以当要移位的位数b超过32时,实际上移位的位数是b%32的值,那么上面的代码中a<<33相当于a<<1,所以输出结果是10. 

相关文章推荐

判断C语言的算术运算越界问题

大量的安全漏洞是由于计算机算术运算的微妙细节引起的,具体的C语言,诸如符号数和无符号数之间转换,算术运算的越界都会导致不可预知的错误和安全漏洞,具体的案例数不胜数. 作为一个系统程序员,有必要对这些细...

java中两大异常:空指针异常和数组越界异常

一、空指针异常   空指针异常是运行期的异常,编译的时候是不会检查的,只有运行的时候才会抛出,一般情况下如果出现了空指针异常,事先你不知道会有这个异常,就说明你的程序有bug,当然就要找出这个bug...
  • wuha0
  • wuha0
  • 2011年12月19日 11:13
  • 9760

[笔记]关于split的数组越界问题以及java.lang.ArrayIndexOutOfBoundsException异常

原帖: http://bbs.csdn.net/topics/320263980 问题内容: 今天写了个字符串拼接程序,中间用到了split方法。但在测试的时候。总是报数组越界错误:java.la...

java中使用split方法,发现数组越界

才开始学习java,一直对其中的类库含混不清。听前辈们说一定要多看java-doc 可是还是有些懒,没有好好研读,所以就出问题了。   这次是文件操作方面:   判断文件类的类型,我想应该就是把文...

java利用poi 读写(导入导出)word、excel(数组越界求解决办法)

java 读写 word excel 简单的实例 需要的jar包有 poi-3.8-20120326.jar poi-examples-3.8-20120326.jar poi-exc...

Android listview 在OnItemClick初出现下标越界 java.lang.IndexOutOfBoundsException

以前自己写代码,在listview 中的这个方法中没有出现过什么问题,今天莫名其妙的在点击直接崩溃程序,查看好久找不到原因,最后打出来下标就明白啦 点击listview item时会遇到  Java...
  • smxueer
  • smxueer
  • 2017年02月10日 18:19
  • 921

JAVA在线笔试编程时测试结果显示非法越界的解决方法

今天晚上做了一家公司的在线笔试,笔试要求说可以在本地IDE编写后复制到网页上,但是我在本地运行正确后复制到网页上测试运行时总是说我非法越界。其实是由于在线笔试给了很多数据,和OJ是类似的。所以我们在写...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java对位移运算越界的优化
举报原因:
原因补充:

(最多只允许输入30个字)