我发现Java中有一行代码是这样的:
我已经搜索了运算符的相关信息,但仍然无法理解它应该做什么,假设
有人能告诉我这行代码的作用吗?
更新 - 这里是在这里找到的代码示例的一部分。
result |= (b & 0x1f) << shift;
我已经搜索了运算符的相关信息,但仍然无法理解它应该做什么,假设
result
、b
和shift
均为整数值。有人能告诉我这行代码的作用吗?
更新 - 这里是在这里找到的代码示例的一部分。
int b, shift = 0, result = 0;
do {
b = encoded.charAt(index++) - 63;
result |= (b & 0x1f) << shift;
shift += 5;
} while (b >= 0x20);
&
、<<
和|=
的作用,那么你应该能够理解那行代码的含义。 - Bernhard Barker(b & 0x1f) << shift
即使我对十六进制值和移位运算符有基本的了解。 - Sw4Tish