java符号位_java位运算符

本文详细介绍了位运算符如按位与(&), 按位或(|), 按位异或(^), 取反(~), 左移(<<)和无符号右移(>>>)的工作原理及其在数字转换中的应用实例。从二进制角度剖析这些操作,帮助读者掌握编程基础中的核心概念。
摘要由CSDN通过智能技术生成

位运算符分为&(按位与)、|(按位或)、^(按位异或)、~(取反)、<>(向右移位)、>>>(无符号右移).

1、&(按位与),将按位与左右的数字转化成二进制进行与操作,相同位全是1才返回1,否则返回0;

例如:9&7=1

00001001(9的二进制)

&

00000111(7的二进制)

——————————

=00000001(1的二进制)

2、|(按位或),将按位或左右的数字转为成二进制进行或操作,规则:相同位只要有1个为1就返回1,否则返回0;

例如:9|7=15

00001001(9的二进制)

|

00000111(7的二进制)

——————————

00001111(15的二进制)

3、^(按位异或),将按位异或左右的数字转化为二进制进行异或操作,规则:相同位只有相异才返回1,否则返回0;

例如:9|7=14

00001001(9的二进制)

^

00000111(7的二进制)

——————————

00001110(14的二进制)

4、~(取反),将该数字的二进制0和1对换;

例如:~(9)=196

~(00001001)=11110110

5、<

例如:int i=3;

i=<<3;输出结果为:24;向左移的位数相当于:数字乘以2的n次方(n:移动的位数)

00000011

<<

——————

00011000(24的二进制)

6、>>(向右移位),把数字转化的二进制数向右移动相应的位数,符号位跟随移动,当为正数时,最高位补0,当为负数时,最高位补1;

例如:int i=9;

i=<<3;输出结果为:1;向左移的位数相当于:数字除以2的n次方(n:移动的位数)  ps:如果除之后是小数,则取整数部分最为结果

00001001

>>

——————

0000001(1的二进制)

7、>>>(无符号位右移),忽略符号位的扩展,高位始终补0,其他正常右移位即可;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值