Binary 按位乘法
只是一个简单的问题,您的代码确实将位添加到高于二进制极限2的数字中,例如,假设n1=1111和n2相同,那么您的代码将显示1234321的结果,尽管它不是有效的二进制数,但我们应该如何使结果为二进制?谢谢算法与十进制数相同,就像你在学校学到的那样。你携带溢出物。但实际上,这与乘法无关。那只是加法。例如,1111 x 1111=1111+11110+111100+1111000。在Java中,您可以执行以下操作以获得二进制输出Binary 按位乘法,binary,multiplication,Binary,Multiplication,只是一个简单的问题,您的代码确实将位添加到高于二进制极限2的数字中,例如,假设n1=1111和n2相同,那么您的代码将显示1234321的结果,尽管它不是有效的二进制数,但我们应该如何使结果为二进制?谢谢算法与十进制数相同,就像你在学校学到的那样。你携带溢出物。但实际上,这与乘法无关。那只是加法。例如,1111 x 1111=1111+11110+111100+1111000。在Java中,您可以执行以下操作以获得二进制输出 int i1 = 1111; int i2 = 1111; int r
int i1 = 1111;
int i2 = 1111;
int result = i1 * 12;
System.out.println("result in binary " + Integer.toBinaryString(result));
你是一个独立的二进制数学。1111不是二进制,无论如何也不是1111,1111可以乘以1111,结果是1234321 二进制1111是十进制的15。尝试使用windoes Calc在Dec.和Bin之间切换
[1111 (Dec) = 10001010111 (Bin)
1111 (Bin) = 15 (Dec)
1234321 (Dec) = 100101101010110010001 (Bin)
1234321 (bin) is invlid][1]
无论如何,你需要通过二进制数学来理解它是如何工作的
试着看看如何工作是的,谢谢,但问题不是这个,我写了一个代码来乘二进制数,这里是代码公共静态无效位bitwiseMultiplyint n1,int n2{int a=n1,b=n2,result=0;而b!=0{如果b&1!=0{result+=a;}a=1;}System.out.printlnresult;}关键是代码在1111和1111相乘的情况下显示数字1234321!!这就是我想要的,为了让代码正确工作,谢谢关心。