第一行划线部分是怎么得出来的?,不应该是直接输出那串数字吗?怎么变成-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本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 python的qt5界面
- ¥15 无线电能传输系统MATLAB仿真问题
- ¥50 如何用脚本实现输入法的热键设置
- ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
- ¥30 深度学习,前后端连接
- ¥15 孟德尔随机化结果不一致
- ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
- ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
- ¥15 谁有desed数据集呀
- ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100