首页 > 编程知识 正文

如何求原码补码反码,原码、反码、补码

时间:2023-05-04 04:01:35 阅读:39650 作者:4297

1、原符号表示法0----正数1----对于负数n 1位的二进制数(包括符号位) ) ) ) ) ) )。

定点整数时

x>; 如果为0,则源代码显示为x,这很容易理解

X<; 如果为0,则x的原始代码是在|X|即-X (的二进制代码的符号位开头)中将0更改为1,因此在数值上相当于|X|的大小加上2^n。 在图示中,x是负数,所以减去负数就等于把该数的绝对值相加。 2^n-X正是我们导出的。

注意事项:举一个例子,假设当前X=-1,其原码为1,001 (共4位包括符号位),根据上图公式,x的原码大小为2^n-X即2^3-(-1 )=9即

那么,这里会出现问题。 你计算的数值大小是9,但这9表示的二进制代码是-1,so。 你明白逻辑了吗?

实际上,从我们的公式导出的是这个数的二进制的大小,其最高位不认为是符号位,但是在原码的真正表现过程中将最高位的视为符号位是冲突的。 当rxdhxc用数学表达式表示这个码值的大小时,它被直接认为是一系列二进制大小,符号缺省为正,其中该无符号数值的大小正好对应于有符号的负数的原码。

定点小数时

x>; 如果为0,则源代码显示为x

X<; 如果为0,则同样,x的原始代码在|X|即-X (的二进制代码的符号位(即开头)中将0变为1,因此在数值上相当于|X|的大小加上1。 在图示中,x是负数,所以减去一个负数后,该数的绝对值就会相加。 1-X正是我们导出的。

稍微说明一下,关于n 1位的定点整数,除了符号位以外有n位,可以表示2^n个数。 0占一个情况,所以最多只能表示从0到2^n-1的2^n个数,所以最多为2^n-1。 请注意,同样对于负数,原始符号也有正零和负零。

对于n 1位的定点小数,除符号位外有n位,最大数量为0.11111……1(n个1 )、0.11111……1(n个1 ) 0.00000(n-1个0 ) )1=1,因此最大数量为1-0.0000 )

2、反转标记法n 1位的二进制数(包括符号位) ) ) ) ) ) )。

简单来说,正数解码等于正数的源代码,负数解码等于负数绝对值的源代码。

让我们来考虑一下如何用数学来记述下架逆。 个数为-7,二进制位为10000111(8位,最高位为符号位),反过来应该是01111000,但实际上可以认为是11111111减去后得到的。 也就是说

11111111

- 01111000

-------------请参阅

10000111

11111111实际数值大小为2^8-1=255即对于n位的整数X,对其取反,相当于2^n-1 - X

下面,考虑如何用数学式记述小数的逆取。 假设某个小数为0.0000001,则反取后应该是1.111111110,反取后可以被认为是从1.11111111减去的。 也就是说

1.1111111

- 0.0000001

-------------请参阅

1.1111111

1.1111111=1 0.1111111数值大小为1(1-2^(-7 ) (2-2^ )-7 )即http://www.Sina.com/http://www.Sina.com /

定点整数时

x>; 如果为0,则x的反码等于x的源代码,表示为x。

X<; 在0的情况下,x的反符号等于|X|即-X (反过来),对于n 1位的二进制负数x,反过来数值的大小为2^(n1 )-1- |X|,除去绝对值以外,反符号为http://www.ssw .

定点小数时

x>; 如果为0,则x的反码等于x的源代码,表示为x。

X<; 在0的情况下,x的反符号等于将|X|(即-X )反过来,对于n 1位小数x,将其反过来相当于2-2^(-n ) |,除去绝对值,反符号http://www.Sina.com/2

3、补码表示法n 1位二进制数(包括符号位)简单来说,正数补码等于正数原码,负数补码等于负数补码加上末尾加1。 也就是说,负数绝对值的原符号反过来在末尾加上1。

定点整数时

x>; 0时,x的补数等于x,与原始代码相同

X<; 0时,x的补数在|X|反转后的最后一位加1,|X|反转,应用上面按下的公式为2^(n 1)-1 X。 最后一位加1,即数值加1,最后补数为2^(n 1) x

定点小数时

X0时,x的补数等于x

X<; 0时,x的补数在|X|反转后的最后一位上变为1,|X|的相反。 应用以上按下的公式为2-2^(-n ) x,最后一位加上1,即数值加上0.000000.(n-2个0 ) 1,为2^(-n )

这篇报道是@风浅_wei出品的。 转载请注明出处。

邮箱: fengqian_wei@qq.com@qq.com

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。