新手求助
请问这个是什么意思呀,感觉不是很理解耶,希望能帮忙解答一下,谢谢{:10_254:} 你往杯子里装水,水溢出来了,溢出来的部分就被丢弃了。 本帖最后由 livcui 于 2020-7-31 11:44 编辑帖子已经解释的很清楚了呀,
因为将 200 赋值给了 c,十进制的200 = 二进制1 1001 0000,c 只有八位,而 1 1001 0000 有 9 位,装不下,就把前面的 1 舍弃掉了,等于赋值 1001 0000
舍弃后 c = 144
红框正常情况下的200+200=400的二进制表示
但是char类型只有一个字节,也就是八位二进制,所以只能容纳绿色框里面的内容
强行截掉绿框外面的1变成了这样
计算器默认是有符号 signed char 所以是-122 ,这个二进制如果当作无符号数输出(%u)就是144 将前面的多出的 1 省略,因为 char 只占 8 个字节 SHRS23 发表于 2020-7-31 11:42
红框正常情况下的200+200=400的二进制表示
但是char类型只有一个字节,也就是八位二进制,所以只能 ...
谢谢层主,我悟啦{:10_297:} 1468188287 发表于 2020-7-31 17:29
谢谢层主,我悟啦
{:10_323:}问题不大
页:
[1]