31

バイナリリテラルで整数を宣言したいと思います。Javaで可能ですか?

4

2 に答える 2

42

Java 7 以降では、1 つ以上の 2 進数 (0 または 1) が後に続く形式(または) を使用して、整数を 2 進数 として直接表すことができます。たとえば、整数 42 です。8 進数や 16 進数と同様に、2 進数リテラルは負の数を表す場合があります。0b0B0b101010

Java 7 を持っていない場合は、これを使用します。

int val = Integer.parseInt("001101", 2);

整数を入力する方法は他にもあります。

  1. 1995、などの 10 進数として51966。のような負の 10 進数-42は、実際には単項否定演算を伴う整数リテラルで構成される式です。

  2. 077 のように、先頭の 0 (ゼロ) 桁と 1 つ以上の追加の 8 進数 (0 から 7 の間の数字) を使用する 8 進数として。8 進数は負の数に評価される場合があります。たとえば037777777770、実際には 10 進数値 -8 です。

  3. 16 進数として、0x (または 0X) の形式を使用し、その後に 1 つ以上の 16 進数 (0 から 9、a から f、または A から F の数字) を続けます。たとえば0xCAFEBABEL、長整数 3405691582 です。8 進数と同様に、16 進数リテラルは負の数を表す場合があります。

詳細については、この Wikibook を参照してください。

于 2012-06-09T12:41:17.443 に答える
42

JDK 7 では、次のことが可能です。

int binaryInt = 0b101;

番号の前に を付けてください0b

于 2012-06-09T12:41:34.607 に答える