1

只是一个简单的问题,您的代码确实将高于 2 的数字加起来,这是二进制的限制,例如假设 n1 = 1111 和 n2 相同,那么您的代码将显示 1234321 的结果,尽管它不是有效的二进制数,我们应该如何使结果为二进制?谢谢

4

3 回答 3

0

该算法与十进制数相同,就像您在学校学到的一样。你携带溢出。但实际上,这与乘法无关。那只是补充。例如,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 不是二进制,无论如何不是 1111 可以乘以 1111 和结果 1234321。

二进制 1111 将是十进制的 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 回答