| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5589 人关注过本帖
标题:[求助]-32769如何求补码
只看楼主 加入收藏
wozaixuec
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-3-16
收藏
 问题点数:0 回复次数:36 
[求助]-32769如何求补码
int a;
a=-32769

-32769在内存中怎么放 如何求补码

10000000000000001

11111111111111110

11111111111111111

这样求不对

谁能帮忙解释一下 谢谢
搜索更多相关主题的帖子: 内存 如何 
2007-03-18 16:38
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
注意是取反加1,取反的时候要全部反过来

雁无留踪之意,水无取影之心
2007-03-18 16:40
wozaixuec
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-3-16
收藏
得分:0 

不是要保留符号位吗?

2007-03-18 16:54
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
你定义的是int,-32769已经溢出了,过程是这样的
首先32769是1000000000000001(注意是17位,但是只存放低16位)
这样就剩下000000000000001(16位)
因为你的是负数,所以编译器进行补码运算
取反(注意,最高位是符号位不取反):0111111111111110
加1: 0111111111111111
这就是最后在内存中的存放方式
所以最后结果是32767
可以用如下程序验证:
int main()
{
int a;
a=-32769;
printf("%d",a);
}
结果是32767,over!

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-18 17:01
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
谁说的,全部反就是了.符号位也要反
不要认为反了后,输出的时候符号就不同了,因为输出的时候,如果符号位是1,他会认为是负数,还是要将补码转换为原码,这个过程中也反了

雁无留踪之意,水无取影之心
2007-03-18 17:01
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
楼上不对!

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-18 17:04
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

哪错了,欢迎批评


雁无留踪之意,水无取影之心
2007-03-18 17:05
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
补码运算进行取反加1是不操作符号位的,具体过程请看我4楼的解释

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-18 17:09
wozaixuec
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-3-16
收藏
得分:0 
32769是16位吧
2007-03-18 17:17
moonwalker
Rank: 1
等 级:新手上路
威 望:1
帖 子:909
专家分:2
注 册:2007-3-2
收藏
得分:0 
那我的思路也有问题,我再看下

“视频教程网”免费提供教学资源
C不限制你的自由!
条件是自己承担滥用自由的恶果!
2007-03-18 17:20
快速回复:[求助]-32769如何求补码
数据加载中...
 
   



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

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