永发信息网

如图:C语言程序中无符号数a的值是负数,为什么作整形输出时的结果是64870?

答案:1  悬赏:50  手机版
解决时间 2021-04-09 03:09
  • 提问者网友:别再叽里呱啦
  • 2021-04-08 07:30
如图:C语言程序中无符号数a的值是负数,为什么作整形输出时的结果是64870?
为什么是这个64870?这个计数的结果是如何过来的?

最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-04-08 08:50

负数在内存中是以补码的形式存储的,
即 -666
原码:1000 0010 1001 1010
反码:1111 1101 0110 0101 (符号位不变,其它位取反)
补码:1111 1101 0110 0110 (反码+1)
即,实际内存中的数据为0b1111 1101 0110 0110=64870
而a为unsigned short int,所以反馈的应该就是64870正数.


我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯