社区
C语言
帖子详情
求个算法,如何判断浮点数是否是整数
blackdrong
2007-08-13 11:13:43
如题,比如4.0是整数,而4.2是小数
小弟先谢了~~
...全文
3890
27
打赏
收藏
求个算法,如何判断浮点数是否是整数
如题,比如4.0是整数,而4.2是小数 小弟先谢了~~
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
LostKingGK
2007-08-15
打赏
举报
回复
整这么复杂干什么?如果不是考算法而是实用的话,直接使用C语言的库函数modf就可以了,而且又能保证可移植性
<math.h>
double modf(double x,double * ip)
把x分成整数和小数两部分,两部分正负与x相同,函数返回小数部分,整数部分保存在*ip中
vo_ov
2007-08-15
打赏
举报
回复
以上非浮点运算涉及计算机存储标准,比如IEEE754标准,假若该程序在非PC机下运行,或者机器标准不同,移植的话就会有问题。
那么,可有更好的方式??既然用C写,我们就要保证程序的通用性,跨平台问题。
再请高手出来正解。。。。。。
laowang2
2007-08-15
打赏
举报
回复
mark
kaicaitaiyang
2007-08-15
打赏
举报
回复
喜欢comman_ndsc 给出的,写起来简单。哈
snake1234
2007-08-14
打赏
举报
回复
楼上的是正解```楼主还不给分啊```
justicesun
2007-08-14
打赏
举报
回复
楼上正解...不过 if z==0 少了对括号
if(z==0)
Diago2007
2007-08-14
打赏
举报
回复
liangbch的方法好
jxlczjp77
2007-08-14
打赏
举报
回复
写错了
void pot()
{
int x;
float y,z;
scanf("%f",&y);
x=y;
z=y-x;
if (z>-Error&& z<Error)
printf("整数");
else
printf("小数");
}
jxlczjp77
2007-08-14
打赏
举报
回复
判断浮点数是否等于零不能直接用==吧
const int Error= 0.00000001
void pot()
{
int x;
float y,z;
scanf("%f",&y);
x=y;
z=y-x;
if (z>Error&& z<Error)
printf("整数");
else
printf("小数");
}
cangwu_lee
2007-08-14
打赏
举报
回复
总结,就是转成整数。然后和原数比较,看是否=0。
xlbdan
2007-08-14
打赏
举报
回复
是啊,你还可以说我没把代码放在一个函数里,:P
www_adintr_com
2007-08-14
打赏
举报
回复
上面的显然不准确,浮点数的范围比整数大得多,当浮点数的值大于整数最大值时,比如 1e12, 上面的判断就是错的了。
xlbdan
2007-08-14
打赏
举报
回复
float x;
scanf("%f",&x);
if((x-(int)x)==0)
printf("x is an int");
else
printf("x is not an int");
0黄瓜0
2007-08-14
打赏
举报
回复
if(z==0)//因为浮点数的不精确性,这里不能直接用==比较.
comman_ndsc
2007-08-14
打赏
举报
回复
学习一下 宝宝的方法
comman_ndsc
2007-08-14
打赏
举报
回复
你这个楼主对自己还是比较负责啊!
blackdrong
2007-08-14
打赏
举报
回复
分给过了,前面四个各给10,宝宝给20,嘿嘿,谢谢各位了
blackdrong
2007-08-14
打赏
举报
回复
刚看过了,总体感觉jxlczjp77(),yajia2000(),comman_ndsc,jeansmy111() 算法可行,总体是一个思路,如果是小浮点运算的话可行,liangbch(宝宝) 的算法不错,虽然看的不是很懂,但我知道这在计算机组成里面讲过这个内容,效率最高,yjukh(小虫) 的算法有点缺陷,如果不只是一个小数位,就比较不了,是吧,
blackdrong
2007-08-14
打赏
举报
回复
知道,知道,我正在看呢。,,,刚下班回家
comman_ndsc
2007-08-14
打赏
举报
回复
问题解决了,楼主不要忘了揭贴
加载更多回复(7)
用Verilog实现
整数
转
浮点数
通过Verilog实现
整数
转
浮点数
,用MATLAB将数据有
整数
转
浮点数
,与FPGA实现
C++实现定点
算法
将
浮点数
转为字符串
将
浮点数
转为字符串的具体
算法
在网上少有涉及,一般都采用浮点法,即通过浮点运算确定需要的每一位上的数字。本文介绍的方法是定点法,即对IEEE 745[1]的
浮点数
编码规范进行硬解码。这种方法效率不高,但是精度确很好,而且思路明晰,可为
浮点数
计算原理的研究工作提供参考。本文仅用C++语言针对float类型的变量做了阐释,其它类型的
浮点数
如double,只是在各部分存储的长度上有差异,因此不做额外讨论。
浮点数
的DFA识别
算法
编写程序利用DFA的原理实现高级语言中
浮点数
的识别
算法
用
浮点数
存储方式表示
整数
数值
用
浮点数
存储方式表示
整数
数值,用十六进制表示
浮点数
基于ARM的
浮点数
转换成
整数
的改进
算法
ARM7和ARM9系列芯片 没有硬件浮点运算器,实际程序中使用的浮点运算 需要转换为定点运算来提高运行速度,即转化为
整数
。需要的朋友可以下载这个论文看看,会有所帮助
C语言
70,026
社区成员
243,259
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章