| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 714 人关注过本帖
标题:菜鸟问个问题呀 !
只看楼主 加入收藏
yanzhuomin
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2010-5-15
收藏
 问题点数:0 回复次数:9 
菜鸟问个问题呀 !
#include<stdio.h>
void main()
{
    char c=0xffff;
    printf("%d",c);
}
为什么输出的是-1
讲一下原理 谢谢了 !
2010-05-26 20:28
daisylin
Rank: 2
等 级:论坛游民
帖 子:33
专家分:26
注 册:2009-8-14
收藏
得分:0 
-1的补码,16位
2010-05-26 22:47
刚开始吧
该用户已被删除
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2010-05-26 22:59
kekin
Rank: 2
等 级:论坛游民
帖 子:59
专家分:85
注 册:2010-3-26
收藏
得分:0 
楼上正解
2010-05-26 23:29
fanfan320
Rank: 3Rank: 3
来 自:运城
等 级:论坛游侠
帖 子:82
专家分:104
注 册:2010-5-12
收藏
得分:0 
输出的是补码形式,ff 的补码是—1
2010-05-27 11:33
shenshaoli
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-27
收藏
得分:0 
回复 5楼 fanfan320
额 我是菜鸟 ff的补码为什么是1 求解释下。。。
2010-05-27 21:49
shenshaoli
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-5-27
收藏
得分:0 
回复 6楼 shenshaoli
为什么是-1.。。上面打错了
2010-05-27 21:50
最近不在
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:5
帖 子:204
专家分:842
注 册:2010-2-28
收藏
得分:0 
16进制ff  用2进制表示则为1111  1111,其中最高位为符号位,1代表负数,0代表正数,剩下的7位数数据位!
2010-05-28 00:14
ciweitou163
Rank: 7Rank: 7Rank: 7
来 自:河北 石家庄
等 级:黑侠
威 望:1
帖 子:144
专家分:528
注 册:2008-10-4
收藏
得分:0 
正数的补码 与原码相同
负数的补码 原码的数据位 按位取反+1 (数据最高为若有进位 舍去)


  • 满眼生机转化钧;天工人巧日争新。
2010-05-28 08:47
gaoce227
Rank: 4
来 自:山东
等 级:业余侠客
帖 子:134
专家分:218
注 册:2008-4-5
收藏
得分:0 
1111 1111的最高位是符号位,1表示为负数,余下7位按位取反,得000 0000,再加1.得000 0001.所以1111 1111的补码为1000 0001即为-1.
2010-05-28 10:14
快速回复:菜鸟问个问题呀 !
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016050 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved