float、double类型怎么判断输入的数字是正数还是负数呀
1个回答
展开全部
不可将浮点变量用“==”或“!=”与任何数字比较。千万要留意,无论是float 还是double 类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“ =”或“ <=”形式。假设浮点变量的名字为x,应当将
if (x == 0.0) // 隐含错误的比较转化为if ((x =-EPSINON) && (x <=EPSINON))
其中EPSINON 是允许的误差(即精度)。
你先看明白这个
------解决方案--------------------------------------------------------不是吧。
仅判断正负的话,用“ 0”“ <0”足矣。
------解决方案--------------------------------------------------------
拿float做例子, 一个4BYTE里面,float分位4个部分, 整型部分, 浮点部分,还有符号和级数部分, 符号部分如果是0,那么就是正数,1就是负数,顾名思义,其他部分是储存相对应的数。类型的最高位表示的是正负!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询