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

float、double类型如何判断输入的数字是正数还是负数呀
float、double类型如何判断输入的数字是正数还是负数呀!请高手指教

------解决方案--------------------
不可将浮点变量用“==”或“!=”与任何数字比较。千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“> =”或“ <=”形式。假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较
转化为
if ((x> =-EPSINON) && (x <=EPSINON))
其中EPSINON 是允许的误差(即精度)。

你先看明白这个

------解决方案--------------------
不是吧。
仅判断正负的话,用“> 0”“ <0”足矣。
“==”有精度问题,难道> , <也有精度问题?
------解决方案--------------------
拿float做例子, 一个4BYTE里面,float分位4个部分, 整型部分, 浮点部分,还有符号和级数部分, 符号部分如果是0,那么就是正数,1就是负数,顾名思义,其他部分是储存相对应的数。
------解决方案--------------------
类型的最高位表示的是正负!