3358 blog.csdn.net/ve basan/article/details/6193916
位运算符主要针对二进制文件,包括“与”、“非”、“或”和“异或”。 乍一看像逻辑运算符,但逻辑运算符对两个关系运算符执行逻辑运算,而位运算符主要对二进制位执行逻辑运算。 详细说明各位运算符。
1 .运算符和
和运算符用符号“”表示,其使用规则如下。
两个操作数的中间值都是1,结果是1。 否则,结果为0。 例如,以下各段:
公共类dat a13
{
publicstaticvoidmain (string [ ] args ) )。
{
int a=129;
int b=128;
system.out.println;
() ) ) ) )。
() ) ) ) )。
执行结果
a和b的结果是128
分析以下步骤。
a的值为129,转换为二进制数为10000001。 另一方面,“b”的值为128,转换为二进制时为1000000。 根据与运算符的运算法则,只有两个比特都是1,结果为1,结果为10000000,即128。
2 .或运算符
或者运算符用符号“|”表示,其运算法则如下。
如果两个比特中有一个是1,则结果为1,否则为0。 让我们看一个简单的例子。
公共类数据14
{
publicstaticvoidmain (string [ ] args ) )。
{
int a=129;
int b=128;
system.out.println;
() ) ) ) )。
() ) ) ) )。
执行结果
a和b或的结果是129
分析下一段。
的值为129,转换为二进制后为10000001。 另一方面,b的值为128,转换为二进制时为1000000。 或者根据运算符的运算法则,两个比特中只有一个是1,结果是1。 可以看出结果是10000001,即129。
3 .运算符以外
非算子用符号“~”表示,其运算法则如下。
如果位是0,则结果为1,如果位是1,则结果为0。 让我们看一个简单的例子。
公共类数据15
{
publicstaticvoidmain (string [ ] args ) )。
{
int a=2;
system.out.println;
() ) ) ) )。
() ) ) ) )。
4 .异或运算符
异或运算符用符号“^”表示,其运算法则如下。
如果两个操作数的每一位相同,则结果为0,否则结果为1。 让我们看一个简单的例子。
公共类数据16
{
publicstaticvoidmain (string [ ] args ) )。
{
int a=15;
int b=2;
system.out.println(「a和b的异或结果为() )”a^b )
() ) ) ) )。
() ) ) ) )。
执行结果
a和b的异或结果: 13
分析上面的段。 a的值为15,转换为二进制后为1111。 另一方面,b的值为2,转换为二进制时为0010。 根据异或运算法则,其结果为1101或13。