0

long次のような変数を定義したとします。

    long lng = 2543697L;

そしてそれを印刷してください:

    System.out.println (" first long "+Long.toBinaryString(lng));

出力はこれです:

1001101101000001010001

しかし~、多くの先頭を使用してビットを補完すると、次のように1's表示されます。

1111111111111111111111111111111111111111110110010010111110101110

そしてそれは理にかなっています(パディング)。今私の質問は次のとおりです。

1. これらの先頭の `1' が否定で表示されるのに、オリジナルでは表示されないのはなぜですか?

2. それらを印刷せずに、補完された元のビットのみを印刷したい場合はどうすればよいですか?

4

2 に答える 2

0

先頭の 1 は重要です。それらを削除すると、数字が変わります。

1111111111111111111111111111111111111111110110010010111110101110 != 10110010010111110101110
于 2013-08-29T05:58:35.590 に答える