【发布时间】:2014-02-07 00:19:49
【问题描述】:
我有一个问题。我必须制作一个程序来检查信用卡号是否有效,使用校验和。我应该从第二个到最后一个数字相乘每隔一个数字,然后将乘积相加,然后将未相乘的数字也加到该总和上。除法时结果应为 0。但是,我的程序有问题。当我输入大数字时,值会改变,最后我得到浮点异常(核心转储)。当我输入较小的数字时,有时会起作用,有时会不起作用。请帮帮我。
感谢您的帮助。请解释一下这个问题,以便我以后避免它。
【问题讨论】:
-
您的一个数学计算产生的数字太大或太小而无法适应您选择的数据类型。找出原因。
-
说“浮点异常”,但我没有看到任何浮点内容
-
@pm100 没关系。例如,整数除以零可以做到这一点。
标签: c floating-point-exceptions long-long