免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 姚世友
打印 上一主题 下一主题

[C] 考考大家的C语言基础  关闭 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-17 22:10 |只看该作者
e是00000001
a占1bit为1
b占2bit为00
c占3bit为000
如果用%d显示a,高位补齐变成0xFFFF,根据2进制补码,所以a应该为-1

论坛徽章:
0
12 [报告]
发表于 2008-12-17 22:12 |只看该作者
原帖由 Pro_sky 于 2008-12-17 22:10 发表
e是00000001
a占1bit为1
b占2bit为00
c占3bit为000
如果用%d显示a,高位补齐变成0xFFFF,根据2进制补码,所以a应该为-1


正解,谢谢....

[ 本帖最后由 姚世友 于 2008-12-17 22:18 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2008-12-17 22:38 |只看该作者

论坛徽章:
0
14 [报告]
发表于 2008-12-17 22:57 |只看该作者
原帖由 Pro_sky 于 2008-12-17 22:10 发表
e是00000001
a占1bit为1
b占2bit为00
c占3bit为000
如果用%d显示a,高位补齐变成0xFFFF,根据2进制补码,所以a应该为-1



为啥补1,不补0?
解释一下啊

论坛徽章:
0
15 [报告]
发表于 2008-12-17 23:04 |只看该作者

回复 #14 kingink1983 的帖子

有符号数是按照符号位补齐,这里的符号位就是1

论坛徽章:
0
16 [报告]
发表于 2008-12-17 23:19 |只看该作者
牛啊。。。。。。。。。。。。。。。。。。。

论坛徽章:
1
天蝎座
日期:2013-08-25 10:27:22
17 [报告]
发表于 2008-12-17 23:45 |只看该作者
恩。挺深奥的

论坛徽章:
0
18 [报告]
发表于 2008-12-18 00:10 |只看该作者
楼主真牛。。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
19 [报告]
发表于 2008-12-18 08:45 |只看该作者
不同编译器、平台可能会有不同的结果

论坛徽章:
0
20 [报告]
发表于 2008-12-18 09:40 |只看该作者

回复 #15 Pro_sky 的帖子

把char 改成unsigned char无符号数也是这个结果啊,

这里的符号数最高位不是0吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP