java中的位运算符

java中的位运算符:

	带符号右移位运算符:>>
		举例:capacity >> n 表示capacity除以2的n次方。
		说明:若值为正,则在高位补0;若值为负,则在高位补1。

	无符号右移位运算符:>>>
		举例:capacity >>> n 表示capacity除以2的n次方。
		说明:无论值为正负,都在高位补0。
	
	带符号左移位运算符:<<
		举例:capacity << n 表示capacity乘以2的n次方。
		说明:无论值为正负,丢弃最高位,在最低位补0。
	

	按位与运算符:	&
		说明:若对应位都为1,则该位的结果为1,否则该位的结果为0。

	按位或运算符:	|
		说明:若对应位都为0,则该位的结果为0,否则该位的结果为1。

	按位异或运算符:^
		说明:若对应位的值相同(都为1或都为0),则该位的结果为0,否则该位的结果为1。
		
	按位取反运算符:~
		说明:若当前位的值为1,则该取反后该位的值为0;若当前位的值为0,则取反后该位的值为1。
		
	举例:
		a=60	二进制表示:a = 0011 1100
		a=13	二进制表示:b = 0000 1101
		-----------------
		a & b = 0000 1100
		a | b = 0011 1101
		a ^ b = 0011 0001
		~a 	  = 1100 0011
		
		
		


重要:数值在计算机中是以补码的方式存储的!

概念:

	原码:符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。

	反码:
		正数的反码是其本身;
		负数的反码是在其原码的基础上,符号位不变,其余位取反。
		
	补码:
		正数的补码就是其本身;
		负数的补码是在反码的基础上+1。


十进制转换为二进制:
	
	正数:直接转换即可。
	
	负数:
		1)先将负数的绝对值转换为二进制。	
		2)获取负数的绝对值的二进制的反码。
		3)将反码加1。
		
		eg:-5的二进制:
		
			5的二进制:				0000 0101
			5的二进制的反码:		1111 1010
			反码加1得到-5的二进制:	1111 1011
			
			
			

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值