java float按位与运算_java位运算

按位异或(XOR)

位异或运算符“^”,只有在两个比较的位不同时其结果是

1。否则,结果是零。下面的例子显示了“^”运算符的效果。这个例子也表明了XOR运算符的一个有用的属性。注意第二个运算数有数字1的位,42对应二进制代码的对应位是如何被转换的。第二个运算数有数字0的位,第一个运算数对应位的数

字不变。当对某些类型进行位运算时,你将会看到这个属性的用处。

00101010 42 ^

00001111 15

00100101 37位逻辑运算符的应用

下面的例子说明了位逻辑运算符:

// Demonstrate the

bitwise logical operators.

class BitLogic {

public static

void main(String args[]) {

String binary[] = {"0000",

"0001", "0010", "0011", "0100",

"0101", "0110", "0111", "1000",

"1001", "1010", "1011", "1100",

"1101", "1110", "1111"

};

int

a = 3; // 0 + 2 + 1 or 0011 in binary

int b = 6; // 4 + 2 + 0 or

0110 in binary

int c = a | b;

int d = a & b;

int e =

a ^ b;

int f = (~a & b) | (a & ~b);

int g = ~a &

0x0f;

System.out.println(" a = " + binary[a]);

System.out.println(" b = " + binary[b]);

System.out.println(" a|b = " + binary[c]);

System.out.println(" a&b = " + binary[d]);

System.out.println(" a^b = " + binary[e]);

System.out.println("~a&b|a&~b = " +

binary[f]);

System.out.println(" ~a = " + binary[g]);

}

}在 本例中,变量a与b对应位的组合代表了二进制数所有的

4种组合模式:0-0,0-1,1-0,和1-1。“|”运算符和“&”运算符分别对变量a与b各个对应位的运算得到了变量c和变量d的值。对变量e和f的赋值说明了“^”运算符的功能。字符串

数组binary代表了0到15对应的二进制的值。在本例中,数组各元素的排列顺序显示了变量对应值的二进制代码。数组之所以这样构造是因为变量的值n对应的二进制代码可以被正确的存储

在数组对应元素binary[n]中。例如变量a的值为3,则它的二进制代码对应地存储在数组元素binary[3]中。~a的值与数字0x0f(对应二进制为0000

1111)进行按位与运算的目的是减小~a的值,保证变量g的结果小于16。因此该程序的运行结果可以用数组binary对应的元素来表示。该程序的输出如下: a

= 0011 b = 0110 a|b = 0111 a&b = 0010 a^b = 0101 ~a&b|a&~b

= 0101 ~a = 1100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值