带溢出的四位计算器

时间:2016-11-16 11:15:56

标签: c# if-statement conditional conditional-statements calculator

我正在尝试制作一个4位计算器。 输入是2个数字和一个符号。计算器为4位,如果数字大于16,则可能存在溢出。

example

我用+和 - 编写了部分,但我不知道如何继续。

如果有人帮助我,我将非常感激。

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);

}

1 个答案:

答案 0 :(得分:0)

一个低效但易于实现的方法是重复添加或减去。即(2 * 5)=(2 + 2 + 2 + 2 + 2)。

整数除法只是在达到零之前可以减去的次数(溢出可能是一个问题)。

如果您想要更高效或彻底的答案,请尝试查找二进制乘法/除法。