Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Binary 按位乘法_Binary_Multiplication - Fatal编程技术网

Binary 按位乘法

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

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

算法与十进制数相同,就像你在学校学到的那样。你携带溢出物。但实际上,这与乘法无关。那只是加法。例如,1111 x 1111=1111+11110+111100+1111000。

在Java中,您可以执行以下操作以获得二进制输出

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!!这就是我想要的,为了让代码正确工作,谢谢关心。