在 Java 长值中设置特定位
Set particular Bit in Java long value
我有一个 long 值,并通过转换十六进制值来设置特定位。
long l = 4;
long output; //output is 84 if i want set 7th bit (1000 0100)
同样的方法是 long 是 7 然后输出是 87 那么如何在 long 值中设置特定位。
要求:
我必须通过正确的格式向服务器发送一个字节。
客户给了以下东西。
1. 第 7 位是否设置。
2. 一个整数值(如 4、5、6、7 等)
现在我已经生成格式为客户端参数的字符串或小数 (2H)。
你需要按位或用位的值来做。
您可以通过向左移动 1L
正确的位数来找到该位的值。 (不要忘记 L
,否则您将移动 int
1。)
按位或可以用 Java 中的 |
运算符完成。
所以代码变成:
long output = l | (1L << 7);
我有一个 long 值,并通过转换十六进制值来设置特定位。
long l = 4;
long output; //output is 84 if i want set 7th bit (1000 0100)
同样的方法是 long 是 7 然后输出是 87 那么如何在 long 值中设置特定位。
要求:
我必须通过正确的格式向服务器发送一个字节。
客户给了以下东西。 1. 第 7 位是否设置。 2. 一个整数值(如 4、5、6、7 等) 现在我已经生成格式为客户端参数的字符串或小数 (2H)。
你需要按位或用位的值来做。
您可以通过向左移动 1L
正确的位数来找到该位的值。 (不要忘记 L
,否则您将移动 int
1。)
按位或可以用 Java 中的 |
运算符完成。
所以代码变成:
long output = l | (1L << 7);