首页 > 代码库 > 关于位运算中左移和右移运算的问题
关于位运算中左移和右移运算的问题
根据我之前的学习知识, << 和 >> 运算的规则如下:
<<:左移运算:就是把当前这个二进制数向左移动多少位,低位空出的补零。高位移出的舍弃
>>:右移运算:就是把当前这个二进制数向右移动多少位,高位空出的来,原来最高位是什么,就补什么,低位移除的舍弃。
看下面的问题:
public class Demo { public static void main(String[] args) { int a = 123; int b = a >> 32; int c = a >> 64; System.out.println(a); System.out.println(b); System.out.println(c); }}
输出结果:
123123123
看来这个结论并不是那么的正确, 根据试验, 这个根据数据类型的不同,int --> 32位一个周期; long --> 64位一个周期。如此循环,而不仅仅是简单的补位。
关于位运算中左移和右移运算的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。