[嵌入式linux] 请教:C语言中,-32768二進制码是多少

[复制链接]
 楼主| quben 发表于 2007-12-12 09:13 | 显示全部楼层 |阅读模式
请讲一下推导过程

谢谢!
computer00 发表于 2007-12-12 09:18 | 显示全部楼层

标准C语言里面没有二进制码...

 楼主| quben 发表于 2007-12-12 09:28 | 显示全部楼层
rockos 发表于 2007-12-12 11:34 | 显示全部楼层

好好学一下计算机原理吧


0x8000
mxh0506 发表于 2007-12-13 21:23 | 显示全部楼层

C语言里为什么要在意数制?

printf("32768d = 0x%X ",32768);
看看输出是什么?
HWM 发表于 2007-12-13 21:46 | 显示全部楼层

这和C应该没有太大关系,-32768只是一个较特殊的负数。

按照“取反加一”的法则,0x8000(32768)的负数就是0x8000(-32768)。这似乎是矛盾的,但因为已将32768定为正向溢出,所以0x8000(-32768)就作为一特殊负数存在。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

56

主题

270

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

56

主题

270

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部