C 哪一种是表示负值的力量的最佳方式

C 哪一种是表示负值的力量的最佳方式,c,C,我想用C程序来计算一些材料的介电常数。计算介电常数的公式为 E= Cx/Co; Co= 15.88pF = 15.88*10^-12; Cx=1/W.C; W= 2*pi*f=2*pi*250000; C= Cs/(1+tan^2(theta)); Cs=1; theta=0 degree; 我已经尝试用C语言用休闲代码实现上述公式 float E, Cx, Co= 15.88*10^-12;, Cs=1.0; f=250*10^3,Pi=3.14,theta=0.0; angle= the

我想用C程序来计算一些材料的介电常数。计算介电常数的公式为

E= Cx/Co;
Co= 15.88pF = 15.88*10^-12;
Cx=1/W.C;
W= 2*pi*f=2*pi*250000;
C= Cs/(1+tan^2(theta));
Cs=1;
theta=0 degree;
我已经尝试用C语言用休闲代码实现上述公式

float E, Cx, Co= 15.88*10^-12;, Cs=1.0; f=250*10^3,Pi=3.14,theta=0.0;

angle= theta/180*pi;  // to convert degree to radians
W= 2*pi*f;
C= Cs/(1+tan^2(angle));
Cx=1/W.C;
E= Cx/Co;

printf("permitivity value: %.10f",E);
我对权力价值的表述感到困惑,比如

10^-12,tan^2(角度)

我所代表的方式正确吗?我没有得到我手动计算的准确值。有没有更好的方法来表示功率值?我想在点后10位显示浮点值,比如0.0000000000。但我只能在点后显示六位数字


有人能帮我找到计算电容率的正确方法吗

只有当你读过C操作符时

^
运算符执行按位异或,这不是您想要的。您需要使用
中的标准库函数
pow()
来计算功率,或者使用科学符号:

Co = 15.88E-12;

C = Cs / (1 + pow(tan(angle), 2));

还要注意的是,这不是数学,这是C,你不能写
tan^2(参数)
,你只能调用一个函数,而不能像数学符号中那样调用“函数平方”…

你的问题是你认为数学表达式可以用C写,这是不正确的。即使是相同的符号也有完全不同的含义。首先学习一点C语法。

尝试使用“%g”进行格式化。您可以尝试使用
double
long double
来获得更好的精度。这不是重点。。。OP无法使用
^
运算符,请参阅我的答案。@user1759248顺便说一句,为什么不阅读C参考资料?我认为你应该尝试八度而不是C。八度是一种数学语言。它很容易学,而且很多数学已经在里面实现了。它也是免费的。下面是链接:我正要这么说。关于tan^2(θ)。@H2CO3我有点怀疑我能不能用tan^2(θ)作为tan(θ)*tan(θ)。@user1759248是的,这是可能的。@H2CO3你能帮我打印小数点后的10位数字吗。类似于浮动中的1.987965432。我尝试过像“%2.10f”这样的方式,但它不起作用,它只打印小数点后的6(六)位数字。我的编译器不支持双精度。
pow
是一种非常糟糕的(就性能和精度要求而言)写入“平方”的方式。要求一个量的平方,只需将它自身相乘即可。