簡単な質問ですが、コードは2進数の制限である2より大きい数値にビットを加算します。たとえば、n1 = 1111でn2が同じであるとすると、コードは1234321の結果を表示しますが、有効ではありません。 2進数、結果を2進数にするにはどうすればよいですか?ありがとう
3 に答える
0
アルゴリズムは、学校で習った 10 進数と同じです。あなたはオーバーフローを運びます。しかし、実際には、それは掛け算とは何の関係もありません。それはただの追加です。たとえば、1111 x 1111 = 1111 + 11110 + 111100 + 1111000 です。
于 2011-02-25T08:44:21.160 に答える
0
Javaでは、次のようにして出力をバイナリで取得できます
int i1 = 1111;
int i2 = 1111;
int result = i1 * 12;
System.out.println("result in binary " + Integer.toBinaryString(result));
于 2011-02-25T08:52:28.490 に答える
0
あなたはバイナリ数学を理解していません。1111 は 2 進数ではなく、1111 を掛けると 1234321 になる 1111 でもありません。
2 進数の 1111 は、10 進数では 15 になります。Windows Calc を使用して Dec. と Bin を変更してみてください。
[1111 (Dec) = 10001010111 (Bin)
1111 (Bin) = 15 (Dec)
1234321 (Dec) = 100101101010110010001 (Bin)
1234321 (bin) is invlid][1]
とにかく、これがどのように機能するかを理解するには、バイナリ数学を実行する必要があります。
于 2011-02-25T11:42:03.573 に答える