c语言考试的负数补码输出。 结果是什么 为什么?
c语言考试的负数补码输出。 结果是什么 为什么?
日期:2021-06-01 18:57:18 人气:1
0xffff=1111
1111
1111
1111
char
只能存1个字节
所以会截取后面
8位
所以char中存放的
是1111
1111
因为最高位是1
在输出是就会认为是负数
所以对他
取反
取反时符号位不变
所以就是1000
0000
再加1
等于1000
0001
就是-1
1111
1111
1111
char
只能存1个字节
所以会截取后面
8位
所以char中存放的
是1111
1111
因为最高位是1
在输出是就会认为是负数
所以对他
取反
取反时符号位不变
所以就是1000
0000
再加1
等于1000
0001
就是-1