C⼀C++中char到int的转换问题

2024-11-22 22:54:43
推荐回答(3个)
回答1:

你的char是有符号类型 而ox80超出了char的最大正值,计算机用补码表示就是0xffffff80

回答2:

char -128,127
你输入129时,溢出为-127
int -127就是0xffffff81
超过127的不都是负数,各种都有,具体得模256,比如257就是1,256就是0

回答3:

这不是很正常么,有什么问题?
char 是有符号的,int比它长,超过127的char都是负数,符号扩展为4字节的int可不就是前面全是FF么。这是二进制补码的知识啊。