CRC32 Java 更新第一位
CRC32 Java Update 1st Bit
我正在尝试为 java 中的字符串创建 CRC32。我能够用 java.util.zip.CRC32
做到这一点。现在我想根据某些条件将 crc 的第 1 位更新为 0 或 1。谁能告诉我怎么做?
这应该对最高位有帮助(不清楚哪个是第一个):
long crc = crc32.getValue();
crc &= 0x7FFFFFFF; //sets the highest bit to 0
if (yourCondition) {
crc |= 0x80000000; //sets the highest bit to 1
}
您可以使用位掩码先清除位 1,然后添加您想要的位。
CRC32 crc = ...;
boolean condition = ...;
int crc32 = (int) crc.getValue();
int bit = condition ? 1 : 0;
crc32 = (crc32 & ~1) | bit;
我正在尝试为 java 中的字符串创建 CRC32。我能够用 java.util.zip.CRC32
做到这一点。现在我想根据某些条件将 crc 的第 1 位更新为 0 或 1。谁能告诉我怎么做?
这应该对最高位有帮助(不清楚哪个是第一个):
long crc = crc32.getValue();
crc &= 0x7FFFFFFF; //sets the highest bit to 0
if (yourCondition) {
crc |= 0x80000000; //sets the highest bit to 1
}
您可以使用位掩码先清除位 1,然后添加您想要的位。
CRC32 crc = ...;
boolean condition = ...;
int crc32 = (int) crc.getValue();
int bit = condition ? 1 : 0;
crc32 = (crc32 & ~1) | bit;