负数求补码的规则对源码(负数的补码求原码方法)
本文目录一览:
负数的补码怎么求
正数的补码,是其本身。
负数的补码,就用它的正数,减一取反,即可得到补码。
如,已知:+9 补码是:0000 1001。
下面求-9 补码:
先减一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 补码 = 1111 0111。
这不就完了吗?
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
不都是骗人的吗?
负数的补码怎么求?
就比如-9 补码是11110111。
9的源码为00001001,如果是负数的话,补码为最高位置1,
其余取反也就是11110110,
然后在最低位加1即可即11110111。
计算机中的负数是以其补码形式存在的 补码=原码取反+1。
一个字节有8位 可以表示的数值范围在 -128到+127。
用二进制表示也就是 10000000 - 01111111(注意:最高位表示符号)。
最高位是1的都是负数 最高位是0的都是正数。
如-7 原码是 10000111 然后取反(最高位是符合不用取反)得11111000。
加一 得11111001 那么-7的二进制数就是 11111001。
再如 -10 原码是 10001010 取反得 11110101 加一得 11110110。
那么-10的二进制数就是 11110110。
二进制数是逢二进一 只有0和1两个数字 没有2。
怎么求一个负数的原码和补码?
正数,本身就是补码。
负数,就用它的正数,减一取反,即可得到补码。
如:+9 的二进制是:0000 1001。
下面求-9 补码:
先减一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 补码 = 1111 0111。
这不就完了吗!
简不简单? 意不意外?
原码反码符号位,讨论这些垃圾干嘛?
这些垃圾,只是那些专家用来骗吃骗喝的!
负数的补码如何计算?举个例子!
就比如-9补码是11110111。
9的源码为00001001,如果是负数的话,补码为最高位置1,其余取反也就是11110110,然后在最低位加1即可即11110111。
计算机中的负数是以其补码形式存在的补码=原码取反+1。
一个字节有8位可以表示的数值范围在-128到+127。用二进制表示也就是10000000-01111111(注意:最高位表示符号)。最高位是1的都是负数最高位是0的都是正数。
扩展资料:
补码乘法
补码的乘法不具备【X*Y】补=【X】补×【Y】补的性质。但是【X*Y】补==【X】补×Y,所得结果再取补码,如x=101,y=011,[x*y]补=-[(-101)*011]=-[011*011]=-01001=10111。
其中,若【Y】补=y31y30……y0,则Y=-y31*2^31+y30*2^30+……+y0*2^0
原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
原码,反码,补码的编码规则?
计算机中,使用 1、0 构成各种代码。
对于正负数字,只是使用【补码】来存储与计算。
原码反码,在计算机中,都是不存在的。
补码的编码规则如下:
十进制数字 0,其补码就是:0000 0000。
-1,就是“零减一”,即:0000 0000-1。
用二进制减法计算,可得:(1) 1111 1111。
机器数,只有 8 位,即:1111 1111 = 255(十进制)。
这就是-1 的补码。
继续减一,可得-2 的补码:1111 1110=254。
同理,-3 的补码是:1111 1101 = 253。
。。。
求负数补码的通用公式:-X 的补码=256-X。
(其中的 256,是 2 的 8 次方。可用十进制计算,有需要再转二进制。)
正数,不需要变换。
这就是补码的编码规则。
由此可见,补码,与原码反码毫无关系。
计算机中,也并不使用原码和反码。