gpt4 book ai didi

java - java中使用+和-相乘

转载 作者:行者123 更新时间:2023-12-02 06:44:14 28 4
gpt4 key购买 nike

我必须创建一个没有 */ 运算符的乘法函数。我已经做了这样的方法。

for(int i=0; i < number1; i++){
result += number2;
}

System.Out.println(result);

现在,我的问题是:本来很好,直到我的讲师改变话题,其中乘法必须是可以乘以十进制值。我不知道如何制作可以仅使用 +- 运算符来处理十进制值的乘法方法。

最佳答案

是的,您可以使用log进行乘法。

log(a*b)=log(a)+log(b)

然后求出log(a)+log(b)的指数值

然后你可以转换符号..

例如:

-9*8=-72

log(9*8)=log(9)+log(8)=2.19+2.07=4.27

e^4.27=72

现在只有一个 -ve 没有。那么它是-72

否则是 72

我正在编写该函数:

void multiply(int num1,int num2)  
{
int counter=0;
if(num1<0)
{counter++;num1+=num1+num1;}
if(num2<0)
{counter++;num2+=num2+num2;}
double res=Math.log(num1)+Math.log(num2);
int result=(int)Math.exp(res);
if(counter%2==0)
System.out.println("the result is:"+result);
else
System.out.println("the result is:-"+result);
}

希望这对你有帮助......

关于java - java中使用+和-相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18812602/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com