我是靠谱客的博主 还单身树叶,最近开发中收集的这篇文章主要介绍补码转化为原码,补码转化为负补码 的快速转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前提知识:

1、一个负整数(或原码)与其补数(或补码)相加,和为模。

2、对一个整数的补码再求补码,等于该整数自身。

3、补码的正零与负零表示方法相同。

总之,正整数的补码是其二进制表示,与原码相同。求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。

正整数的原码反码补码一样;

负整数的反码是除了原码符号位其他位全部取反,补码是反码加一。

备注:计算中主要采用的是补码,就是将减法计算变成加法计算,反码是求补码的中间状态此外。补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

一、负数补码转化为原码

例:已知某数X的补码1 111 1010 ,试求其原码。

解:由X的补码=1 111 1010 知,X为负数。(正整数的原码反码补码一样)

方法1:数值位取反+1

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

方法2: 负数补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位不变)

二、补码转化为负补码

例:已知某数X的补码1 111 1010 ,试求其负补码。

方法1:补码变成原码 -> 符号位取反(负原码) ->负补码

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

0 000 0110  负原码

0 000 0110  补码  (正整数的原码反码补码一样)

方法2:数值位和符号位全部取反+1

方法3:负补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位变化)

最后

以上就是还单身树叶为你收集整理的补码转化为原码,补码转化为负补码 的快速转换的全部内容,希望文章能够帮你解决补码转化为原码,补码转化为负补码 的快速转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部