学习 C#,数学公式未按预期生成
本文关键字:数学公式 学习 | 更新日期: 2023-09-27 18:32:53
学习 C#,数学方程式未按预期生成。这是我的作业的一部分。我不明白为什么结果没有按照他们应该的结果出来......
第一个等式
m=2
n=1
int sideA = (m^2) - (n^2);
结果 -3
第二个等式
x1=2
x2=7
float Xmid = (x1 + x2)/2;
结果 4
这是因为在C#中,^
表示XOR
,而不是"提升到幂"。要对数字进行平方,请使用
Math.Pow(x, 2)
或者干脆
x * x
此外,除整数也会截断小数部分。 使用 decimal
、 double
或 float
得到 3.5 作为 3 和 4 的中点:
float x1=2
float x2=7
float Xmid = (x1 + x2)/2;
你的第一行代码:
int sideA = (m^2) - (n^2);
基本上是m XOR 2
减去n XOR 2
。 XOR 是一个按位运算符,它产生的位为真,但不是两个都为真。 有关独占 OR 运算符的更多信息,请参阅维基百科。 如果你想把m
提升到2
的力量,试试这样的事情:
int sideA = Math.Pow(m, 2) - Math.Pow(n, 2);
您的第二行代码:
float Xmid = (x1 + x2)/2;
是 (2 + 7)
哪个是 9
,除以整数2
即 4.5,但是因为将一个整数除以另一个整数将始终得到一个整数,所以只会保留结果的整数部分。 将此表达式分配给float
这一事实无关紧要。
您可能想尝试:
float Xmid = (x1 + x2)/2.0;
或:
float Xmid = (x1 + x2)/2f;
或将x1
和x2
声明为浮点数,两者都会产生4.5
。