我正在尝试制作一个4位计算器。 输入是2个数字和一个符号。计算器为4位,如果数字大于16,则可能存在溢出。
我用+和 - 编写了部分,但我不知道如何继续。
如果有人帮助我,我将非常感激。
string[] asignb = Console.ReadLine().Split(' ');
int a = int.Parse(asignb[0]);
string sign = asignb[1];
int b = int.Parse(asignb[2]);
if (a > 16) {
a -= 16;
}
if (b > 16) {
b -= 16;
}
if (sign == "+") {
int addition = 0;
addition = a + b;
if(addition > 16) {
addition -= 16;
}
Console.WriteLine(addition);
} else if(sign == "-") {
int subtraction = 0;
subtraction = a - b;
if (subtraction < 0) {
subtraction += 16;
}
Console.WriteLine(subtraction);
}
答案 0 :(得分:0)
一个低效但易于实现的方法是重复添加或减去。即(2 * 5)=(2 + 2 + 2 + 2 + 2)。
整数除法只是在达到零之前可以减去的次数(溢出可能是一个问题)。
如果您想要更高效或彻底的答案,请尝试查找二进制乘法/除法。