搜索
查看: 1914|回复: 21
打印 上一主题 下一主题

啊,好无语。为什么会是这个结果。

[复制链接]
跳转到指定楼层
楼主
发表于 2014-2-8 22:02:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
为什么不可以用这种方法计算大数字,我计算一些数字结果毕竟小的时候是对的,但是如果数字太大,为什么是这种结果?

最佳答案

查看完整内容

很简单,你的程序数据太大,已经没有一个数据类型可以包含了,就是溢出~~ 比如说,你一双手只有十个手指,你偏要数十二个手指出来,问题来了,因为一个人的手 只能用十个手指来表示,所以,你现在数到的手指不是十二个手指,而是二个手指, 还是别人的哦~~~ 现在明白了吧~~~~
沙发
发表于 2014-2-8 22:02:18 | 只看该作者
1233333 发表于 2014-2-17 13:16
感谢你们的回答,但,楼主我表示看不懂!

很简单,你的程序数据太大,已经没有一个数据类型可以包含了,就是溢出~~
比如说,你一双手只有十个手指,你偏要数十二个手指出来,问题来了,因为一个人的手
只能用十个手指来表示,所以,你现在数到的手指不是十二个手指,而是二个手指,
还是别人的哦~~~
现在明白了吧~~~~
板凳
 楼主| 发表于 2014-2-8 22:06:47 | 只看该作者
我把A,B,C,D,G,的数字改为2时,计算结果是10,那就是对的啊!可是上面的数字为什么不可以计算?
地板
发表于 2014-2-8 22:24:48 | 只看该作者
这个问题很简单,大数据就要放一个大的数据类型,比如有符号long long  无符号double类型,你把第五行代码的int 改成 long long 试试~~
5#
 楼主| 发表于 2014-2-9 13:48:38 | 只看该作者
非常感谢!
6#
 楼主| 发表于 2014-2-9 13:53:05 | 只看该作者
但是如果我想计算小数,然后还有整数,还有很大的数,是不是就得把int改为 int,long long,float+字母?

点评

嘿嘿。。傻眼了吧~  发表于 2014-2-9 21:39
7#
发表于 2014-2-9 17:54:51 | 只看该作者
1233333 发表于 2014-2-9 13:53
但是如果我想计算小数,然后还有整数,还有很大的数,是不是就得把int改为 int,long long,float+字母?

熊孩子,小数点就有浮点类型哈~~一般float就够用了~~
8#
发表于 2014-2-9 21:24:13 | 只看该作者
输出格式符改成%u
9#
发表于 2014-2-10 20:15:03 | 只看该作者
李掌柜 发表于 2014-2-9 17:54
熊孩子,小数点就有浮点类型哈~~一般float就够用了~~

float会有精度损失
10#
发表于 2014-2-10 20:15:31 | 只看该作者
李掌柜 发表于 2014-2-8 22:24
这个问题很简单,大数据就要放一个大的数据类型,比如有符号long long  无符号double类型,你把第五行代码的in ...

啊哈C中,long和int一样大……
11#
发表于 2014-2-10 20:16:28 | 只看该作者
1233333 发表于 2014-2-9 13:53
但是如果我想计算小数,然后还有整数,还有很大的数,是不是就得把int改为 int,long long,float+字母?

你如果想“狼”一点,试试这条代码:
long long long a;
注意看错误提示。
12#
发表于 2014-2-10 20:17:00 | 只看该作者
溢出
这种情况是典型的上溢
13#
发表于 2014-2-11 17:37:54 | 只看该作者
4399APPLE 发表于 2014-2-10 20:16
你如果想“狼”一点,试试这条代码:
long long long a;
注意看错误提示。

long 或  long int 一般是32位..
long long或long long int 一般是64位~~
你觉得long long 还不够用嘛  
14#
发表于 2014-2-11 19:36:10 | 只看该作者
李掌柜 发表于 2014-2-11 17:37
long 或  long int 一般是32位..
long long或long long int 一般是64位~~
你觉得long long 还不够用嘛; ...

你看过错误提示了没??
15#
发表于 2014-2-11 19:59:35 | 只看该作者
4399APPLE 发表于 2014-2-11 19:36
你看过错误提示了没??

有提示错误?这位同学,这个是数据溢出,楼主给出的数据类型(int)太小,,  你给出的"long long long a;"
有这种数据类型么??
如果不知道llong long 去看看有关C 99标准.

二小你怎么看~~  
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表