概述
前提知识:
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左边同反码(符号位变化)
最后
以上就是还单身树叶为你收集整理的补码转化为原码,补码转化为负补码 的快速转换的全部内容,希望文章能够帮你解决补码转化为原码,补码转化为负补码 的快速转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复