拿拿林 2021-07-29 10:56 采纳率: 95.7%
浏览 17
已结题

基本数据类型在计算机中的表示-关于程序输出结果

不懂为什么b会是负号?
而且格式不应该是a=多少,b=多少,a,b 为什么答案只有a=,b= ?

img

  • 写回答

1条回答 默认 最新

  • bingbingyihao 2021-07-29 11:09
    关注

    你是要考虑越界的问题吗,可能自动类型转换了;在短整型中,32767=2^15-1,这里已经是短整型能够表示的最大正数了,在计算机组成原理里面会学的,计算机中的数用补码表示,32767+1之后会变成下一阶段的数,进位后就成了负数,当然这里会不会进行类型转换得通过试验进行;32767+1用补码表示为1111 1111 1111 1111(正数的补码为本身)+ 0000 0000 0000 0001(正数的补码为本身),但加起来之后变成1 0000 0000 0000 0000,注意这里进位并不考虑在本次计算中,所以结果会变成最小的负数-32768;注释:这里理解并不透彻,可能有些错误,仅作参考。

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

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 创建了问题 7月29日

悬赏问题

  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥15 路由器考试怎么办,有懂行的吗 ,eNSP
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来
  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题
  • ¥15 C# iMobileDevice