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
因为计算机存的是补码
负数是补码,
负数是补码,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯