This question already has answers here:
What does value & 0xff do in Java?
(4个答案)
4年前关闭。
代码的目的是从数据库中读取数据,但我不知道“ i [1] = data [1]&0xff;”的含义在getBinaryStream(1)中,“ 1”是什么意思?
(4个答案)
4年前关闭。
代码的目的是从数据库中读取数据,但我不知道“ i [1] = data [1]&0xff;”的含义在getBinaryStream(1)中,“ 1”是什么意思?
if(rs.next())
{
InputStream in=rs.getBinaryStream(1);//what the mean of the code?
byte[] data = StreamTool.readInputStream(in);
int[] i =new int[12];
i[1]=data[1]& 0xff;//what the mean of the code?
i[4]=data[4]& 0xff;//what the mean of the code?
i[7]=data[7]& 0xff;//what the mean of the code?
i[10]=data[10]& 0xff;//what the mean of the code?
int a=3*(port1-1)+1;
int b=3*(port2-1)+1;
最佳答案
getBinaryStream() doc
检索此Blob实例指定的BLOB值作为流。
返回值:
包含BLOB数据的流。
十六进制文字0xFF
的整数值等于255。Java将int
表示为32位。0xFF
的二进制值
0xFF = 00000000 00000000 00000000 11111111
number & 0xff reference&
运算符执行bitwise AND
操作。 data[1]& 0xff
将为您提供带位模式的整数。&
运算符的规则是
1&0 = 0
1&1 = 1
0&0 = 0
0&1 = 0
因此,当对任何数字使用此&
进行0xFF
运算时,它都会使0
全部变为,但仅保留最后8位中的值。
例如,10110111
和00001101
的按位与是00000101
。
10110111
和
00001101
=
00000101
关于java - 我不知道“i [1] = data [1]&0xff;”的意思。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35098933/
10-12 00:13