浮点数可以比较大小,如果是<,>,可以直接写成if (a > b) ,但如果要比较=,!= ,就需要考虑精度问题。
正常的思路,我们比较两个数大小是将两个数做差,与0比较,看是否等于0,因为浮点数在计算机里面表示问题(二进制无法精确表示一些浮点数),所以这里要改成两个数的差是否在一定精度范围内。
#define EPS 1e-6
if(((a - b > - EPS) && ((a - b) < EPS)))
浮点数比较大小
最新推荐文章于 2023-10-29 22:50:05 发布
浮点数可以比较大小,如果是<,>,可以直接写成if (a > b) ,但如果要比较=,!= ,就需要考虑精度问题。
正常的思路,我们比较两个数大小是将两个数做差,与0比较,看是否等于0,因为浮点数在计算机里面表示问题(二进制无法精确表示一些浮点数),所以这里要改成两个数的差是否在一定精度范围内。
#define EPS 1e-6
if(((a - b > - EPS) && ((a - b) < EPS)))