📜  按位运算符 (1)

📅  最后修改于: 2023-12-03 15:39:48.171000             🧑  作者: Mango

按位运算符

在Java中,我们可以使用按位运算符来对二进制位进行操作,包括位与(&)、位或(|)、位异或(^)、位非(~)和左移(<<)及右移(>>)。

位与运算符 (&)

位与运算符用于对两个二进制数的每一位进行逻辑运算,只有当两个二进制数的对应位都为1时,结果才为1,否则结果为0。

int a = 15;  // 二进制数为1111
int b = 10;  // 二进制数为1010
int c = a & b;  // 二进制数为1010,即十进制数为10
位或运算符 (|)

位或运算符用于对两个二进制数的每一位进行逻辑运算,只有当两个二进制数的对应位都为0时,结果才为0,否则结果为1。

int a = 15;  // 二进制数为1111
int b = 10;  // 二进制数为1010
int c = a | b;  // 二进制数为1111,即十进制数为15
位异或运算符 (^)

位异或运算符用于对两个二进制数的每一位进行逻辑运算,当两个二进制数的对应位相同时,结果为0,否则结果为1。

int a = 15;  // 二进制数为1111
int b = 10;  // 二进制数为1010
int c = a ^ b;  // 二进制数为0101,即十进制数为5
位非运算符 (~)

位非运算符用于对一个二进制数的每一位进行取反操作,将0变成1,将1变成0。

int a = 15;  // 二进制数为1111
int b = ~a;  // 二进制数为0000 0000 0000 0000 0000 0000 0000 1110,即十进制数为-16
左移运算符 (<<)

左移运算符将一个二进制数向左移动指定的位数,左移操作会使得数变大,相当于在数的二进制末尾添加0。

int a = 10;  // 二进制数为1010
int b = a << 2;  // 二进制数为101000,即十进制数为40
右移运算符 (>>)

右移运算符将一个二进制数向右移动指定的位数,右移操作会使得数变小,相当于将数的二进制末尾丢弃一定的位数。

int a = 15;  // 二进制数为1111
int b = a >> 2;  // 二进制数为0011,即十进制数为3

以上是Java中的按位运算符的介绍。需要注意的是,在使用位运算符进行操作时,需要注意数据类型的位数,以及二进制数的补码表示方式。