抱歉,没有发布任何代码。这个问题与在xcode ios中工作时的浮点数除法和乘法有关。
我有一个变量,需要除以2.055926336e + 09。但是不幸的是编译器没有划分吗?
我如何在代码中使用它
float variable1=((variable2)/(2.055926336e+09));
用较小的值进行除法(例如:-(1 /(2.055926336e + 09))
这是什么原因呢?有什么有效的方法可以做到这一点吗?
提前致谢!
最佳答案
我怀疑问题不在您的计算中。它在您的打印中。您可能正在尝试使用%f
之类的格式打印答案。默认情况下,%f
在小数点右边打印6位数字。
10 / 2.055926336e + 09的值是0.000000004863987500377056 ...,如您所见,它在小数点后立即有6个以上的零。如果尝试使用%f
对其进行格式化,则只会得到零。
如果改为使用%e
(或%g
)对其进行格式化,则格式化程序将使用科学计数法,并将结果打印为4.863988e-10
,表明结果不为零。
关于ios - 不能乘或除大或小的浮点数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11285207/