摸森堡 2020-05-25 15:02 采纳率: 0%
浏览 287
已结题

求助!long long数据范围出错

测试数据是-2147483649,我用long long来存储结果,在VS上运行正确,但在牛客上运行结果为2147483647,这是为啥?为啥连符号都变了?
注:牛客编译器版本为c++11(clang++ 3.9)

  • 写回答

1条回答 默认 最新

  • Arneking 2020-05-25 18:57
    关注

    不了解牛客编译器,但是看起来是数据类型读取出错了,
    感觉你这个编译器把longlong定义为4字节长度的数据了
    有符号int范围-2147483648~-2147483647,越界 -1,直接补码变成2147483647

    还有一种可能,是你自己赋值计算的时候出现了问题..
    例如一个INT的数值,你参与到了longlong的数据赋值中,没有先转换数据类型
    而是直接赋值 longlong x=int a- 2;编译器会用int类型计算再赋值到longlong

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月18日

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测