小胡不糊涂123 2023-03-22 19:34 采纳率: 95.2%
浏览 39
已结题

C++含有无符号类型的表达式

img


那个u+i输出的那一长串数字是怎么算出来的,能不能按照书上说的32位系统讲解一下

  • 写回答

3条回答 默认 最新

  • 真相重于对错 2023-03-22 22:38
    关注

    两个不同类型数相加,按照有效位数大转换
    i=-42 负数由补码表示,补码就是原码按位取反+1,最高位为一,源码二进制0010,1010,
    补码的 二进制就是 1111,1111,1111,1111,1111,1111,1101,0110,16进制为ffffffd6
    n=10 二进制就是 0000,0000,0000,0000,0000,0000,0000,1010,16进制就是 0a,
    二者相加,结果16进制位 FFFFFFE0,转为10进制无符号数为4294967264

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月25日
  • 已采纳回答 3月25日
  • 创建了问题 3月22日