2 steve s96 Steve_S96 于 2016.03.30 18:15 提问

看我的C语言程序,关于十六进制

为什么两个一样的十六进制却不相等?图片

4个回答

bealing
bealing   Rxr 2016.03.30 19:56
已采纳

char 的范围为-128~127 ,0xff存储的时候溢出了
char c = 0xff 实际是 char c = -1
所以不等咯

CSDNXIAON
CSDNXIAON   2016.03.30 18:32

看我linux(ubuntu)下的64位编译器编译32位程序
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Steve_S96
Steve_S96 啥玩意,和我问题一样吗
一年多之前 回复
lx624909677
lx624909677   Ds   Rxr 2016.03.30 18:53

printf("%c",c);
printf("%c",0xff);看下结果先

Steve_S96
Steve_S96 出现两个大黑点,这是为什么
一年多之前 回复
bai596140538
bai596140538   2016.03.30 23:09

因为补码的关系,变量里面负数是以补码方式存储的

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!