char型'/376'为什么输出整形是-2呢

来源:百度知道 编辑:UC知道 时间:2024/06/12 07:52:28
char型不都是字符 '/376' 也是字符吗

你好,
char a='\376'
此语句表示把八进制的376(十进制的254,二进制为11111110)所
对应的ASCII码赋给字符变量a(a的ASCII码的值为:"?"),当把
字符型变量a赋给整型变量i时,变量i在计算机中存储的内容为:
11111110(补码形式),根据补码知识,它表示一个负数(因为
最高位为1),转换为原码为:10000010(除最高为外,各位按位
取反,末位加1),根据10000010可以得知,它代表-2(最高位
为1表示负数),所以,按整型方式输出i,得到-2。
------------