按位运算&&&&原码反码补码

本文介绍了Java中二进制数的原码、反码和补码的概念,强调了负数在计算机中以补码形式运算,并详细讲解了按位与(&)、按位或(|)、按位异或(^)和按位取反(~)四种位运算符的规则。同时,提到了算术右移(>>)、左移(<<)和无符号右移(>>>)

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原码反码补码

1、二进制的最高位是符号位:0表示正数,1表示负数
2、正数的原码、反码、补码都是一样的
3、负数的反码 = 它的原码符号位不变,其他位取反(1-0,0-1)
4、负数的补码=它的反码+1,负数的反码 = 它的补码-1
5、0的反码,补码都是0
6、java没有无符号数,换言之,java中的数都是有符号的
7、在计算机运算的时候,都是以补码的方式来运算的
8、当我们看运算结果的时候,要看它的原码(重点)

二、按位运算

按位与 & :两位全为1,结果为1,否则为0

在这里插入图片描述

按位或 | :有一位为1,结果为1,否则为0

在这里插入图片描述

按位异或 ^ :一位为1一位为0,结果为1,否则为0

在这里插入图片描述

按位取反 ~ :1-0 , 0-1

在这里插入图片描述

位运算符

按位运算符>> << >>>运算规则
1、算术右移 >>:低位溢出,高位不变,并用符号位补溢出高位。
例:int a = 4 >> 2 ; a = 1 ;
右移相当于:4/2/2 =1
2、算数左移 <<:符号位不变,低位补0
例:int a = 4 << 2 ; a = 1 ;
右移相当于:422 =16
3、>>> 逻辑右移,无符号右移:低位溢出,高位补0 (老师没讲)
4、没有 <<< 这个

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值