在使用 IEEE754 浮点数时,我发现了两种将 32 位变量的前 9 位归零的方法。他们中的任何一个都比另一个更好吗?
Java 相关补充:是否有一些列表提供有关指令效率的信息?我随机发现 BIPUSH 通常应该比 LDC 快,但除此之外没有太多。
// 10111111110010100011110101110001 bits
// 00000000010010100011110101110001 significand
int bits = 0b10111111110010100011110101110001;
int significand = bits & 0b11111111111111111111111;
int significand2 = bits << 9 >>> 9;
字节码……</p>
L4
LINENUMBER 49 L4
ILOAD 0
LDC 8388607 // = 0b11111111111111111111111
IAND
ISTORE 5
L5
LINENUMBER 50 L5
ILOAD 0
BIPUSH 9
ISHL
BIPUSH 9
IUSHR
ISTORE 6
谢谢。:)