gpt4 book ai didi

c# - 如何在不使用乘法(*)符号的情况下将十进制数相乘

转载 作者:太空狗 更新时间:2023-10-29 22:05:37 24 4
gpt4 key购买 nike

任何人都可以建议我一种不使用乘法 (*) 符号来乘以十进制数的方法。我知道这看起来像是作业,但我只想知道如何实现。我已经为正整数和负整数完成了如下操作:

int first = 2;
int second =2;
int result = 0;
bool isNegative = false;

if (first < 0)
{
first = Math.Abs(first);
isNegative = true;
}
if (second < 0)
{
second = Math.Abs(second);
isNegative = true;
}

for (int i = 1; i <= second; i++)
{
result += first;
}

if (isNegative)
result = -Math.Abs(result);

想要将其乘以小数:

decimal third = 1.1;
decimal fourth = 1.2;

谢谢

最佳答案

有点作弊,但如果任务严格涉及所有形式的乘法(而不仅仅是 * 运算符),则除以倒数:

var result = first / (1 / (decimal)second);

关于c# - 如何在不使用乘法(*)符号的情况下将十进制数相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19117352/

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