补码怎么转换成原码?
有个规则是原码按位取反再加1得到补码,而按照这样来的话,那不是应该补码先减1再按位取反得到原码么?为什么是补码先加1再按位取反得到原码,这两种做法有什么不同?...
有个规则是原码按位取反再加1得到补码,而按照这样来的话,那不是应该补码先减1再按位取反得到原码么?为什么是补码先加1再按位取反得到原码,这两种做法有什么不同?
展开
8个回答
展开全部
对于正数和负数,补码规则不同,所以求原码方式也有所不同。无符号数与正数的方法相同。
1 对于最高位为0的有符号数,或无符号数,补码就是原码本身。如
0111 1100 既是补码,同时也就是原码。
2 对于最高位为1的有符号数,其表示的是负数。原码为按位取反,末位加一。如
补码:1100 0111
按位取反后结果为:0011 1000
加一后得到: 0011 1001
于是其原码就是-0011 1001
1 对于最高位为0的有符号数,或无符号数,补码就是原码本身。如
0111 1100 既是补码,同时也就是原码。
2 对于最高位为1的有符号数,其表示的是负数。原码为按位取反,末位加一。如
补码:1100 0111
按位取反后结果为:0011 1000
加一后得到: 0011 1001
于是其原码就是-0011 1001
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正数原码、反码、补码都一样。
负数补码转化为原码就是补码+1再除符号位每位取反就可以了。
负数原码转化为补码也是补码+1再除符号位每位取反就可以了。
负数补码转化为原码就是补码+1再除符号位每位取反就可以了。
负数原码转化为补码也是补码+1再除符号位每位取反就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是应该补码先减1再按位取反得到原码么?
为什么是补码先加1再按位取反得到原码,
----
用负数的补码,求该数的原码,方法,仍然是求反加一。
两种做法,效果相同。
没有为什么,就是这么定的。
为什么是补码先加1再按位取反得到原码,
----
用负数的补码,求该数的原码,方法,仍然是求反加一。
两种做法,效果相同。
没有为什么,就是这么定的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
谁说是这样的,明明是-1再按位取反得到原码,比如原码1 00000011,反码就是1 11111100,补码就是 1 11111101,我们先把补码-1,得到 1 11111100,再取反,得到1 00000011,就得到原码了嘛,逆过程而已。正数的原码就是补码,楼下的验证过了吗?就乱灌水
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询