关闭

一个不会报错的除0

30人阅读 评论(0) 收藏 举报

C语音

对于除0,我们有天然的认识,一定要对除数做检查,如果不检查

对于int,直接就coredump

对float而言,没有coredump,但是数据却是异常,一直到无法理解


实验结果

Int = float / int;(无coredump);

Int = int / float ; (无coredump;

Int = int / int;(存在coredump);

现在的问题来了,在以上结果中,我们如何检查分母的检查,这里是我们的关心的


可以总结出来,无论分母或者分子存在float,对分母的检查,必须是严格的,


int必须对0的检查


float型必须的误差范围在1e-5范围内;

const float EPSINON = 0.00001;

if((x >= - EPSINON) && (x <= EPSINON))

 



为什么会说了一个大家都知道的问题?

1、怎么检查分母的问题

2、程序中有很多检查办法,我们需要甄别其中的检查,可能有的检查形同虚设


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:31次
    • 积分:11
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档
    阅读排行
    评论排行