首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

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

2012-02-27 
float、double类型如何判断输入的数字是正数还是负数呀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就是负数,顾名思义,其他部分是储存相对应的数。
[解决办法]
类型的最高位表示的是正负!

热点排行