Java:二进制的按位与操作怎么做?求助大神!

2025-05-21 00:58:59
推荐回答(1个)
回答(1):

//先用链接中的方法,把String a,b 分别转换成byte[]数组data_a和data_b
byte[] data_a=hex2byte(a);
byte[] data_b=hex2byte(b);
byte[] data_c=new byte[a.length]; //结果串
//逐个直接进行位与运算 ()
for(int i=0;i
追问:
谢谢!^是按位异或么?PHP中的^和Java^不同是么?
并且出现了以下问题:(前面两个都OK,损失精度那个是怎么回事啊?强制转换会有问题么)
追答:
1、^符号是异或。
2、代码中需要把你命题中的a、b的定义和数据抄上,能避免“找不到符号”。
3、a.length更正小写
4、损失精度是提示并非错误。由位运算之后精度变成32bit。可以明示为8bit。
data_c[i]=data_a[i]&data_b[i];

data_c[i]=(byte)(data_a[i]&data_b[i]);
评论
0
0
加载更多