永发信息网

char a=255; 输出结果为什么是-1?

答案:2  悬赏:30  手机版
解决时间 2021-11-19 17:01
  • 提问者网友:愿为果
  • 2021-11-19 01:31
char a=255; 输出结果为什么是-1?
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-11-19 03:03
char a=255;把a声明成了一字节整型,且赋值255。255这个数的二进制是11111111,那么这个数按补码解释就是:最高位是符号位,1表示负数,其余7位按补码求真值法则是取反+1,即0000001;和符号位全合起来就是10000001,这显然是-1的真值。没错啊,有什么问题?-127是你把它当真值了,要知C里的整数都是补码,所以必须按补码解释!
全部回答
  • 1楼网友:英雄的欲望
  • 2021-11-19 03:48
因为计算机存的是补码
负数是补码,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯