我在论坛上看到这句话,大家觉得对否?
若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。
为什么说只有5个低位才会用到?
若对char,byte或者short进行移位处理,那么在移位进行之前,它们会自动转换成一个int。只有右侧的5个低位才会用到。
为什么说只有5个低位才会用到?
解决方案 »
- 分享给初学者的一个约瑟夫问题,用最傻的方法写的
- 为什么这个程序放不出音乐来
- java 高手帮忙???
- 一个关于java对话框的问题
- 求一段简单的java代码,在线等,谢谢
- 如何得到系统的时间,再将它写入数据库中呢?
- 请推荐比较好的网上软件店
- 在jbuilder7中如何编译exe?
- Exception in thread "main" java.lang.NoClassDefFoundError: test01
- 听说C#已经有赶超java的趋势,java即将风光不再???
- 怎么从 new JScrollPane(new JTextArea) 这里 把对应的 JTextArea取出来
- 使用过java 读写Excel的高手进
而上面数,移位后是int 只能是32位
A往右移B位。
低5位指的是B的低5位。
如果超过了这个5位,那得到的数就没有意义了。要么全是0,要么全是1。
如a>>33和a>>1结果是一样的,a>>32的结果还是a的原数。
综上:先对所移位数取模32(二进制表示:0000 0000 0001 1111),即只有右侧的5个低位才会用到。