liujiawen 发表于 2023-11-19 17:40:54

请问一下划线部分

Q1:那一步是什么意思,就是fabs(1e(-8))
这一步是啥意思,想要表明啥
Q2:为啥是10.7,为什么不能直接写%.7f

isdkz 发表于 2023-11-19 17:41:01

Q1:fabs(1e(-8))的意思是取1e(-8)的绝对值。这一步的目的是确保1e(-8)的值为正数,因为在某些计算中可能会涉及到负数的情况,而fabs()函数可以确保得到的值为正数。

Q2:10.7表示保留小数点后7位,并且总共保留10位,包括小数点。不能直接写%.7f是因为这里需要保留一共10位,而不仅仅是小数点后7位。所以需要指定总位数为10。

Mike_python小 发表于 2023-11-19 17:43:23

Q1:fabs(1e(-8)) 这一步是啥意思,想要表明啥?

在C/C++中,fabs函数用于计算一个数的绝对值。而1e-8表示科学计数法中的10的负8次方,即0.00000001。因此,fabs(1e-8)的作用是计算0.00000001的绝对值。

这个步骤可能是用来处理浮点数精度问题。由于浮点数在计算机中表示有限,存在舍入误差,因此直接比较浮点数是否为零可能会出现问题。通过取绝对值可以避免这个问题,将小于一个特定阈值的数当作零处理。

Q2:为什么是10.7,为什么不能直接写%.7f?

在C/C++中,10.7是一个具体的浮点数常量,表示十进制数10.7。而%.7f是格式化输出中的格式控制符,用于指定浮点数的输出格式。

如果你要输出一个浮点数变量的值,可以使用%.7f来指定输出格式,保留小数点后7位。但如果你要用一个固定的值来进行比较或执行其他操作,需要使用具体的常量值,例如10.7。

所以,10.7和%.7f在语境上是不同的。前者是一个具体的浮点数常量,而后者是用于格式化输出的格式控制符。

liujiawen 发表于 2023-11-19 17:55:45

isdkz 发表于 2023-11-19 17:41
Q1:fabs(1e(-8))的意思是取1e(-8)的绝对值。这一步的目的是确保1e(-8)的值为正数,因为在某些计算中可能会 ...

请问一下从哪里看出来就是要保留10位啊
页: [1]
查看完整版本: 请问一下划线部分