上記は機能せず、符号拡張のために-1を返します。したがって、長い数値が負の場合でも、下位32ビットのみを取得する方法があるかどうか疑問に思います。
2400 次
3 に答える
7
接尾辞を使用して、リテラルL
を指定します。long
0x00000000ffffffffL
于 2013-03-06T00:54:17.837 に答える
3
おそらく(末尾のに0x00000000FFFFFFFFL
注意してください。これはの整数型の接尾辞です)。L
long
于 2013-03-06T00:54:24.537 に答える
2
これはうまく機能しているようです:
final long mask = 0x00000000FFFFFFFFL;
final long val = Long.MAX_VALUE;
final long masked = val & mask;
System.out.println(masked);
出力:4294967295
于 2013-03-06T00:56:15.220 に答える