我这里有一个解决数学方程的程序:(3.31 * 10到-8功率+ 2.01 * 10到-7功率)/(7.16 * 10到-6功率+ 2.01 * 10到 - 8力量...但是,我的输出总是导致南!请告诉我原因,并帮我解决。
int a = 10;
int b = -10;
//10 to the -8 power below
float ab = 1 / (a * b * b * b * b * b * b * b) ;
//10 to the -7 power below
float ba = 1 / (a * b * b * b * b * b * b) ;
//10 to the -6 power below
float abc = 1 / (a * b * b * b * b * b) ;
//equation below
double conclusion = (3.31 * ab + 2.01 * ba) / (7.16 * abc + 2.01 * ab);
NSLog(@"the answer to the equation is %f",conclusion);
答案 0 :(得分:1)
您的表达式计算为整数。在整数中,1/100的计算结果为0。
只需将a和b声明更改为:
float a = 10;
float b = -10;
然后所有的计算都将是浮点数并且具有您期望的值。
此外,这是以一种相当奇怪的方式计算数字。您也可以将它们作为浮点文字输入,例如3.31E-8
,它是-31幂的3.31 * 10。