十进制负数转换成二进制数

正数转负数是:对应正数的二进制按位取反,加1;那负数转正数不都应该是:先减1,在取反;为什么先取反,在加1也行... 正数转负数是:对应正数的二进制按位取反,加1;
那负数转正数不都应该是:先减1,在取反;
为什么先取反,在加1也行
展开
 我来答
匿名用户
2013-07-08
展开全部
数制转换(用8bit整数说明):
十进制转二进制:
正数直接转 如 55 = 0011 0111b
负数:绝对值转换成二进制,按位取反,加1,
如-55,先把55转换成0011 0111b,取反: 1100 1000b 加1:1100 1001b

逆问题,二进制转十进制,要弄清楚是多少位的,不足的部分要在前面把0补上。
首先看首位是0还是1, 0表示正数,1表示负数。正数直接转,负数,先减一,按位取反,转换十进制,加上负号。
例如 0100 1000 转过来是72
1000 0000 第一位为1 表示是个负数,所以减一,0111 1111,取反1000 0000转换成十进制128,加上负号 -128。

有了二进制,16进制和8进制数都不是问题。
乌不归
2013-07-08 · TA获得超过1682个赞
知道小有建树答主
回答量:1335
采纳率:0%
帮助的人:588万
展开全部
这个应该是对补码进行操作吧?假如5个bit来表示一个数
可以这么证明:负数全部取反与原补码的和为11111,如果把00001与11111相加,就得到了00000,这说明这个操作最后求出来的数是正确的。
再考虑先减1再取反是一个逆操作也是正确的
其实就和-(+a)和+(-a)一个道理
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
青染涟漪
2013-07-08 · TA获得超过342个赞
知道答主
回答量:84
采纳率:0%
帮助的人:118万
展开全部
???

我知道的十进制转二进制是:
不断×2,每次取整数位。如果整数位变成1了,取1后,再把整数位变成0,小数部分不变,知道取到题目上要求的位数。如果没要求,就随便你取到第几位。取到的数正着看,和整数相反。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式