首页 > 代码库 > java无符号移位(>>>)和有符号移位(>>)
java无符号移位(>>>)和有符号移位(>>)
java中>>(<<)表示有符号的移位。<<<(>>>)表示无符号移位
如:
int num = 22;
二进制是0001 0110, num>>>1,右移一位变成0000 1011(11)
int num = -22
二进制用补码表示:1110 1001, num >>>1无符号右移一位: 0111 0100
>>向右移动后,最左边用符号位替补。>>>向右移动后最左边用0替补
1 public class Test { 2 public static void main(String args[]){3 int num = -22;4 int temp = num >>> 1;5 System.out.println("temp = " + temp);6 temp = num >> 1;7 System.out.print("temp = " + temp);8 }9 }
output:
temp = 2147483637
temp = -11
java无符号移位(>>>)和有符号移位(>>)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。