すべてのビットが 1 に設定されるように、long の Java 配列を埋めたいと思います。対応する long 値は -1または "0xFFFFFFFFFFFFFFFFl" であることがわかりました。
long l = -1L;
System.out.println(Long.toBinaryString(l));
"1111111111111111111111111111111111111111111111111111111111111111"
したがってArrays.fill()
、配列を 1 で埋めるために使用します。
final long allBitsOn = -1L;
long[] bits = new long[arrayLength];
Arrays.fill(bits, allBitsOn);
long(-1)
この配列は、主要なプロジェクトの基本的なインフラストラクチャです。すべての VM 実装と Java の将来のバージョンで、long が 64 ビットであり、すべてのビットが常に 1 に設定されることを完全に確認したいと考えています。
この仮定は安全ですか?