C语言,按位求反怎么算的?都被弄糊涂了。

按位求反运算:已知,7;转二进制0111反1000这样直接转十进制对吗?答案是-8,没错。但是-7要怎么算?如下:转二进制0111反1000加11001再反0110在加0... 按位求反运算:
已知,7;
转二进制
0111

1000
这样直接转十进制对吗?
答案是-8,没错。

但是-7要怎么算?
如下:
转二进制
0111

1000
加1
1001
再反
0110
在加
0111
转十进制

答案不对啊-7,应该是-6才是。
展开
 我来答
forrshit
2018-08-23 · TA获得超过150个赞
知道小有建树答主
回答量:146
采纳率:47%
帮助的人:57.1万
展开全部
7 + (-7) = 0
0111 + 1001 = (1)0000 (去掉多出的一位)
所以啊,-7就是7的反码+1.
这个是本质的东西,不要补码,反码,源码的一直绕。
z珍惜拥有
2018-08-23
知道答主
回答量:5
采纳率:0%
帮助的人:1.7万
展开全部
计算机里面加减法一般都是用数据的补码进行运算的
例如你说的-6
二进制是1110
补码是1010
5
二进制是0101
补码是0101
-6+5 补码相加 为1111
为-1的补码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丿艾瑞灬莉娅
2018-08-23 · TA获得超过916个赞
知道小有建树答主
回答量:926
采纳率:78%
帮助的人:432万
展开全部
你只考虑了前4位,总共有32位,最高位符号位
更多追问追答
追问
难道还的吧32位都写出来,转换也是如此?
追答
不然你取反,加1,难道只对那4位进行操作?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhen2010xiao
2018-08-24 · TA获得超过127个赞
知道答主
回答量:1017
采纳率:10%
帮助的人:73.2万
展开全部
自己学一下十进制和二进制吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
梧桐金玉v
2018-08-23
知道答主
回答量:32
采纳率:50%
帮助的人:5万
展开全部
求补码反码??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式