| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 629 人关注过本帖
标题:115取反的位运算的问题
只看楼主 加入收藏
魔道无敌
Rank: 1
等 级:新手上路
帖 子:19
专家分:7
注 册:2013-2-27
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
115取反的位运算的问题
~115书上是这样写的:
~115=~(01110011)2=(10001100)2=(140)10
为什么是这个结果呢?
2013-06-04 16:42
bccn新
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:57
专家分:144
注 册:2013-5-10
收藏
得分:2 
如果说115是整型数,那书是冒牌的吧,我怎么算都是~115=-116.
2013-06-04 17:59
不眠的夜
Rank: 2
等 级:论坛游民
帖 子:63
专家分:96
注 册:2013-3-12
收藏
得分:2 
用短除法:
115/2=57.....1;
57/2=28......1;
28/2=14......0;
14/2=7.......0;
7/2=3........1;
3/2=1........1;
1/2=0........1;
从后向前写余数为:1110011;因为115为正数加一符号位,所以是(01110011)2;按位取反为(10001100)2;结果应该是-12;
正数的原码,补码,反码都相同,都等于它本身
负数的补码是:符号位为1,其余各位求反,末位加1
反码是:符号位为1,其余各位求反,但末位不加1
也就是说,反码末位加上1就是补码
2013-06-04 18:03
bccn新
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:57
专家分:144
注 册:2013-5-10
收藏
得分:0 
上面的这位兄弟分析得是有道理,不过在此提醒一下,整型数存储占两个字节,即16个位,不是8位。
2013-06-04 18:09
浪漫横行
Rank: 4
等 级:业余侠客
威 望:1
帖 子:127
专家分:291
注 册:2013-4-30
收藏
得分:2 
书上是先把数转换为二进制数然后在按位取反,最后又转换成十进制数
2013-06-04 18:16
YJ_Hao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:215
专家分:609
注 册:2013-3-22
收藏
得分:1 
难道不会写个程序验证下吗?
2013-06-04 18:26
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:1 
估计它是当成unsigned char 类型讲的吧,呵呵,,
2013-06-05 00:07
华子hear
Rank: 3Rank: 3
来 自:陕西西安
等 级:论坛游侠
帖 子:57
专家分:104
注 册:2013-6-3
收藏
得分:1 
书中有错,正常不过。要得正解,上机操作。
2013-06-05 10:54
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:1 
实践是检验真理的唯一操作

Maybe
2013-06-05 16:57
快速回复:115取反的位运算的问题
数据加载中...
 
   



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

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