老牛来学习 发表于 2020-2-1 16:04:10

反码问题

#include <stdio.h>

int main()
{
    unsigned char i;

    i=-5;

    printf("%d",i);

      return 0;
}
以上是代码,输出的结果是251。
想问一下这个输出结果251是怎么得出来的,中间的反码转换过程是怎样的啊
我理解得是输入i=-5电脑会转化成反码1111 1011,然后输出的时候因为类型是unsigned,所以为正数,转回源码等于本身所以等于251,这个思路对不对啊

zltzlt 发表于 2020-2-1 16:04:28

你的思路是对的。

老牛来学习 发表于 2020-2-1 20:10:49

zltzlt 发表于 2020-2-1 16:04
你的思路是对的。

谢谢
页: [1]
查看完整版本: 反码问题