【发布时间】:2016-11-16 11:15:56
【问题描述】:
我正在尝试制作一个 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);
}
【问题讨论】:
-
会更明显。如果你能上传你到目前为止所做的事情
-
您可以对正整数使用模数。你可以做你的算术,比如说
2 + 23。据推测,从你所说的来看,代码目前评估得很好并返回25- 你可以得到你正在寻找的16位整数25 % 16 -
@saad suri 我上传了。谢谢你提醒我。
-
不确定你到底在问什么,但在操作数和结果上使用
& 0xf运算符将确保 4 位 -
Alfie Goodacre -- 如果我有 2 + 23,结果将是 (23 - 16 = 7),所以 7+2 = 9
标签: c# if-statement conditional conditional-statements calculator