【Java】>,>> ,>>>运算符

【Java】>,>> ,>>>运算符,第1张

【Java】>,>> ,>>>运算符 >是大于号,比较大小运算符 >>有符号移动。

把要移动的数转换成2进制,右移几位就去掉右边的几位数,左移几位就在右边加几个0,
如:14右移2位:14转成二进制为1110,去掉右边的10,变成11,11转成十进制就是3;14左移2位就是111000,转成十进制就是56。

>>> 无符号右移。

不论这个数为正数或负数。都在高位补零
例如20的二进制为 0001 0100,右移2位后为 0000 0101,则结果就为 res =5;
-20的二进制为 1110 1011,右移2位,此时高位补0,即 0011 1010,结果为 res =- 5;

public class letc {
	public static void main(String[] args) {
		int x = 3;int y = 4;
		System.out.println( "x & y : " + (x & y) );//与 0000
		System.out.println( "x|y : " + (x | y) );//或 4二进制为0100  3|4为0111 为7
		System.out.println( "x ^ y : " + (x ^ y) );
		System.out.println( "x >> 1 : " + (x >> 1) ); //3的二进制 0011 右移1位 0001变成1
		System.out.println( "x >> 2 : " + (x >> 2) ); // 0011 右移2位 0000变成0
		System.out.println( "x << y : " + (x << y) ); //0011左移动4位   0011 0000为48
	}
}
- - - - - - - - - - - 
运行结果:
x & y : 0
x| y : 7
x ^ y : 7
x >> 1 : 1
x >> 2 : 0
x << y : 48

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5697894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存