float 浮点数与零值0比较大小

2019-07-26  本文已影响0人  思思入扣

float x;

千万不要写x==0;

写出float x 与“零值”比较的if语句——一道面试题分析

写出float x 与“零值”比较的if语句

请写出 float x 与“零值”比较的 if 语句:
const float EPSINON = 0.00001;
if ((x >= - EPSINON) && (x <= EPSINON)
不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。

EPSINON 应该是一个很小的值吧 因为计算机在处理浮点数的时候是有误差的,所以判断两个浮点数是不是相同,是要判断是不是落在同一个区间的,这个区间就是 [-EPSINON,EPSINON] EPSINON一般很小,10的-6次方以下吧,具体的好像不确定的,和机器有关

上一篇下一篇

猜你喜欢

热点阅读