与,或,非,异或,左移,右移,位运算符号总结

与,或,非,异或,左移,右移,位运算符号总结在 Java 中 所有数据的表示方法都是以补码的形式表示 如果没有特殊说明 Java 中的数据类型默认是 int int 数据类型的长度是 8 位 一位是四个字节 就是 32 字节 32bit 一 与运算符 amp 运算规则 0 amp 0 0 0 amp 1 0 1 amp 0 0 1 amp 1 1 即 两个同时为 1 结果为 1 否则为 0 例如 5 amp 7 十进制 5 转为二进制的 5 00000101 十进制 7 转为二进制的 7 00000111 结果 00000101 转为十进制 5 即 5 amp 与或非异或的符号

在Java中,所有数据的表示方法都是以补码的形式表示,如果没有特殊说明,Java中的数据类型默认是int,int数据类型的长度是8位,一位是四个字节,就是32字节,32bit.

一:与运算符(&)

运算规则:

0&0=0;0&1=0;1&0=0;1&1=1

即:两个同时为1,结果为1,否则为0

例如:5&7

十进制5转为二进制的5:0000 0101

十进制7转为二进制的7:0000 0111

结果:0000 0101 ->转为十进制:5

即:5&7 = 5

二:或运算(|)

运算规则:

0|0=0; 0|1=1; 1|0=1; 1|1=1;

即 :参加运算的两个对象,一个为1,其值为1。

例如:5|7 即 0000 0101 | 0000 0111 = 0000 0111,因此,5|7=7。

三:异或运算符(^)

运算规则可以简单理解为相加后不进位

运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;

即:参加运算的两个对象,如果两个位为“异”(值不同),则该位结果为1,否则为0。

例如:5^7 = 0000 0101 ^ 0000 0111 =0000 0010,因此,5^7 = 7

性质:

1.N^0=N

2.N^N=0

3.同一批数,通过交换律结合律,最后异或出来是同一个数

四:左移(<<)

运算规则:二进制位向左移动相应位数,高处越位丢弃,低位补0;

如:5<<2,5=00000101,5<<2=00010100=20,即5 * 2ⁿ

公式:m<<n=m* 2ⁿ

五:右移(>>)

运算规则:二进制位向右移动相应位数,低位丢弃,高位补0;

>>>:无符号右移(注意:没有无符号左移)

无符号右移(注意:没有无符号左移)

正数做>>>运算的时候和>>是一样的。区别在于负数运算

六:非运算符(~)

运算规则:如果位为0,结果是1,如果位为1,结果是0.

在Java中,所有数据的表示方法都是以补码的形式表示

如:~37

8转为二进制是.

补码后为: 00000000 00000000 00000000 00

取反为:

因为高位是1,所以原码为负数,负数的补码是其绝对值的原码取反,末尾再加1。

因此,我们可将这个二进制数的补码进行还原: 首先,末尾减1得反码: 其次,将各位取反得原码:

00000000 00000000 00000000 00,此时二进制转原码为38

所以~37 = -38.

进制转换工具

加运算的两个对象,按二进制位进行运算。

进制转换地址:http://tool.oschina.net/hexconvert/

今天的文章 与,或,非,异或,左移,右移,位运算符号总结分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-05 08:30
下一篇 2025-01-05 08:27

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/102616.html