数字大了为什么会输出负数?

Nxhivo 2017-11-12 11:41:39

比如输入:123456789987654321
...全文
2335 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
着陆咯 2017-11-17
  • 打赏
  • 举报
回复
不同的数据类型都有自己的范围呐,太大了计算机肯定会溢出了。
zhouqunhai 2017-11-17
  • 打赏
  • 举报
回复
数据溢出了,每种数据类型都有其大小范围
自信男孩 2017-11-17
  • 打赏
  • 举报
回复 1
越界了。数值,尤其是有符号数,最高位(二进制)是符号位,若最高位位1,那么该数就是负值。 注意int
引用 8 楼 qq_29763887 的回复:
不同的数据类型都有自己的范围呐,太大了计算机肯定会溢出了。
可以参考一下这个。 或者引入<limits.h>文件,或直接找到这个文件,找到常用类型的取值范围。
屈工智能科技 2017-11-16
  • 打赏
  • 举报
回复
数据溢出了 改成 long long 或者 double 类型应该可以
paschen 版主 2017-11-12
  • 打赏
  • 举报
回复
不同类型变量有各自的存储范围,太大会导致溢出
大米粥哥哥 2017-11-12
  • 打赏
  • 举报
回复
装不下溢出了 变量存储空间有限
N459ilove653216783 2017-11-12
  • 打赏
  • 举报
回复
这是补码的问题。
destory27 2017-11-12
  • 打赏
  • 举报
回复
比如 char (127)下一位 (-128) 0111 1111(127) 1000 0000 (127 + 1) = (-128)
CT8100 2017-11-12
  • 打赏
  • 举报
回复
用数组来装,分开装。
Nxhivo 2017-11-12
  • 打赏
  • 举报
回复
怎么改才能不会溢出?

64,691

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧