float、double类型怎么判断输入的数字是正数还是负数呀

如题所述

不可将浮点变量用“==”或“!=”与任何数字比较。千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“ =”或“ <=”形式。假设浮点变量的名字为x,应当将if (x == 0.0) // 隐含错误的比较转化为if ((x =-EPSINON) && (x <=EPSINON))其中EPSINON 是允许的误差(即精度)。你先看明白这个------解决方案--------------------------------------------------------不是吧。仅判断正负的话,用“ 0”“ <0”足矣。------解决方案--------------------------------------------------------拿float做例子, 一个4BYTE里面,float分位4个部分, 整型部分, 浮点部分,还有符号和级数部分, 符号部分如果是0,那么就是正数,1就是负数,顾名思义,其他部分是储存相对应的数。类型的最高位表示的是正负!
温馨提示:答案为网友推荐,仅供参考
相似回答