bu灵bu灵 2022-10-23 16:35 采纳率: 92.3%
浏览 15
已结题

基本数据类型的问题,求解

img


第一行划线部分是怎么得出来的?,不应该是直接输出那串数字吗?怎么变成-1了?

  • 写回答

1条回答 默认 最新

  • [小G] 2022-10-23 16:59
    关注

    赋的值太大了,int类型最大只能放下2147483647
    而n1是4294967295,即2^32-1(二进制下是32个1),超出了int最大范围。
    输出-1是因为,这个值的存储的时候是以补码形式的,32个1,最高位是1,转会源码的时候是1000000...0001(30个0),最高位是符号位,为1,因此当做负数处理了,出去最高位右边的值是1,所以结果是-1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月23日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100