负数补码怎么算啊、里边老有个符号位、符号位是指的哪位啊?

不用扯那些没有用的9,就称为-3 的补数。。

负数补码怎么算 负数补码算术移位规则负数补码怎么算 负数补码算术移位规则


负数补码怎么算 负数补码算术移位规则


正数的补码,就是该数本身。

例如,已知:+9 的补码是:0000 1001。

求-9 补码步骤如下:

先减一:0000 1001-1 = 0000 1000。

补码就是先算负数的反码,然后再加1。(简称“取反加1”)

在计算机系统中,数值,一律采用补码表示和存储。

在计算机中,原码和反码,都是不存在的。

实用的有 8 位或 16 位。的还有 32、64 位。

补码中的每一位,都对应一位十进制数。

那么,八位的补码,各个位的数值,就是:

-1首位 1,既代表负号,也代表数值-128。28、64、32、16、8、4、2、1。

--------------------

如果,有一个补码是:1011 1001。

倘若首位是 0,即为:0011 1001。

求数值,就更简单了:32 + 16 + 8 + 1 = +57。

--------------------

掌握了上述规律,由数值,再求补码,也就很简单了。

例如,求-125 的八位补码。

这是负数,首位一定是 1,代表了数值-128。

与-125 相比较,还应该有个 3。

用七位数值位表示 3,就是:000 0011。

综合在一起,-125 的补码,就是:1000 0011。

--------------------

求补码、求数值,都是很简单的事。

并不需要拐到“原码反码取反加一”去。

老外脑子不好,才会弄出哪些个骚作!

1。比如一个十进制,9

他的二进制是

那负9

(-9)

他的二进制是

10001001(最左边的1表示负数,如是0表示正数)

如果符号位为“0”,表示是一个正数,其原码就是补码。

求-9反码=1011 0010;的补码

+9的原码是

(00001001)→按位取反(11110110)→加1(11110111)

所以-9的补码是11110111

小数负数的补码怎么算?

那么,减一,就可以用 +99 代替。

小数的补码怎么计算,如果是负数

一样的计算,二进制的小数位的权重依次为2^-1,2^-2...

负小数的原码 补码

1. 小数点前1位表示符号;

负小数的补码怎么求然后,再慢慢算。?

不用取反 让0.6875乘2 取整数 让后再乘2再取整 一直等于00.68752=1.3750 那么整数为10.3752=0.750 00.752=1.5 10.52=1.0 1所以0.6875的补码为0.1011000因为是负数再加1等于1.1011000

二进制负小数的反码(重点)和补码怎么算?尤其是整数部分比1大时怎么办?这时候符号位取在哪里?

约定字长8位:

[-1.001001]原 =11.001001

[-1.001001]反 =10.110110

[-1.001001]补 =10.110111

.[-10.0001]原 =1010.0001

[-10.0001]反 =1101.1110

[-10.0001]补 =1101.1111

请问正小数和负小数求补码的原则。例如:0.110001,-0.001001,请给出详细过程,谢谢啊

若真值为纯小数,它的补码形式为,Xs.X1X2X3X4X5Xn,其中Xs表示符号位,补码的定义为:【X】补=X(0<=X<1)或2+X=2-/X/(-1<=X<0)(MOD=2)

纯小数在求它的原码、反码、和补码时方法和整数是一样的。

例如:X=-0.1011 系统要是规定为8位,那么它的原码为

[x]原=1.1011000 [x]反=1.0100111 [x]补=1.0101000

也就是说系统规定为8位,当位数不够的时候,要在有效数后面用0补齐,然后再求它的原码、反码、和补码。正小数也是按照这个方法。

怎么求正数 负数的补码?

先写成二进制(负数要在最首位写1作为符号位),然后符号位不变其他位按位取反(就是0变1,1变0)后按照正常的加法运算加1就是补码(不加1是反码)。

例如:X=-101011 , [X]原= 10101011 ,[X]反=11010100,[X]补=11010101

小数二进制求其负数补码

小数,要用浮点数表示。

用十进制验证不仅仅是补码的问题。

负数(二进制)的补码公式是?

相对真值是指当高一级标准器的指示值即为下一等级的真值,此真值被称为相对真值。

用正数的补码,减一、取反,就得到负反码:1110010数的补码。

例如求-5 的补码,步骤如下:

+5 的补码是:0000 0101。

再取反:1111 1011。

这就是-5 的补码。

负数 X 的(二进制)补码公式是?

负数 X 的(二进制)补码 = 2^n - | X |。

应用示例:

求 -128 的八3. 本题结果为:1.1100101位补码,就是: 2^8 -|-128 |。

即: 256-128 = 128 = 1000 0000(二进制)。

负数(二进制)原码,除符号位外逐位取反,称为反码,反码加 1 就是补码。

如: -5 = (1000 0101)原

反码: 1111 1010

补码: 1111 1011

计算机原码反码补码怎么算

比如,-128 具有补码 1000 0000。

在计算机系统中,数值,一律用补码来表示和存储。

只要会求补码,就够用了。

-----------补码、真值,都和原码反码,毫无关系。------

计算机,所计算的位数,是固定的。

位数,限定了之后,即使出现了进位,也不再考虑。

在这个前提下,加法、减法,就可以互换。

周期是 100(即一百)。

25 - 1 = 24

25 + 99 = (一百) 24

舍弃进位,加法,就能起“减法”的作用。

99,就是-1 的补数。

借助于补数,加减法,就可以统一为加法。

借助于补码,就可以简化计算机的硬件。

八位的二进制是:0000 0000~1111 1111(十进制255)。

周期是 2^8 = 256。

-1 的补码就是:256-1 = 255(二进制 1111 1111)。

-2 的补码就是:256-2 = 254(二进制 1111 1110)。

公式:

负数的补码 = 周期 + 该负数。

零和正数,不存在补码,直接就可以参加计算。

补码,就是这么计算出来的。

要注意:其位所对应的数值,是负数。补码,和原码反码,毫无关系。

计算机中,也并没有原码反码,因此,就不必讨论它们。

算出下列的补码求过程顺便说下负数的补码怎么运算

1、首先判断原码的正负,因为对于正数,其原码、补码反码表示形式相同(符号位为0,数值部分与真值相同)

【注】因为题目没有指定字长,我谨以8位字长为例,16位、32位同理,补0就好了。

(1)求+46的补码:

比如,两位十进制是 00~99。①进制转换:+46的二进制形式为+101110

②转换成原码:10101110

正数的补码与起原码相同,

①进制转换:-78的二进制形式为-1001110

②转换成原码:11001110

负数的补码符号位为1,数值为在原码基础上“取反加1”,

-78的补码为:1原码反码符号位,这些都是没有用的。0110010。

PS:正数的补码与其原码相同,负数的补码在其反码的基础上+1,这个就是负数补码的求解方法。

(为网友解答问题是我的荣幸,但这只是热情,并非义务,我很欢迎追问,但追问者态度倨傲的将不予理会)

二进制的余码,反码,补码怎么算?

它代表的数值,就是:-128 + 32 + 16 + 8 + 1 = -71。

在计算机系统中,数值,一律采用补码表示和存放。

减一,就和 +99,作用相同。

原码和反码,在计算机中,根本就不存在。

补码,其实就是一个“代表负数参加运算”的正数。

用补码代替负数,计算机中,就没有负数了。

同时,在计算机中,也就没有减法运算了。

那么,计算机,只需一个加法器,就可以吃遍天下了。

------------------

补码(一个正数),它怎么就能代替负数呢?

用 10 进制说明,比较容易理解。比如:

25 - 1 = 24

25 + 99 = (一百) 24。

如果你只取 2 位数,超出 2 位的进位,你把它舍弃!

那么,+99,是不是就和-1,是等效的?

同样,+98 就可以代替-2。

替换关系式 : 正数 = 负数 + 10^n, n 是位数。

在计算机中,每次参加运算的位数,也是有限的。

在 8 位 2 进制数时,

-1 就可以用 -1 + 2^8 = 255 代替。

即:

+46的补码为:10101110。-1 的补码,就是 255 = 1111 1111 (二进制)。

-2 的补码,就是 254 = 1111 1110。

求补码,就这么算。

补码的来历,与原码反码,都没有任何关系。

计算机使用了补码,就是用正数,代替负数。

这些正数,就称为“带符号数”。

用补码进行计算,你必须舍弃进位。

如果你不舍弃进位,那就是“无符号数”的运算了。

怎么算?

不就是按照二进制来计算吗?

你先求出几个数的:余码,反码,补码。

补码和真值两者怎么换算?

3.补码转换为真值

根据原码的定义,将原码的各数值位按权展开、求和,由符号位决定数的正负,即可由原码求出数的真值。

例:已知[x]原=00011111B,[y]原=10011101B,求x和y。

解:

x=+(0×26+0×25+1×24+1×23+1×22+1×21+1×20)=31

y=-(0×26+0×25+1×24+1×23+1×22+0×21+1×20)=-29

2.反码转换为真值

若要求反码的真值,则只要先求出反码对应的原码,再按上述原码转换为真值的方法即可求出数的真值。

正数的原码是反码本身。负数的原码可在反码基础上,保持符号位为1不变,数值位按位取反。

例:已知[x]反=00001111B,[y]反=11100101B,求x和y。

解:[x]原=[x]反=00001111B, 则

x=+(0×26+0×25+0×24+1×23+1×22+1×21+1×20)=15

[y]原=10011010B, 则

y=+(0×26+0×25+1×24+1×23+0×22+1×21+0×20)=-26

若要求出补码的真值,也要先求出补码对应的原码。正数的原码与补码相同。负数的原码可在补码的基础上再次求补,即[x]原=[[x]补]补。

例:已知[x]补=00001111B,[y]补=11100101B,求x和y。

解:[x]原=[x]补=00001111B, 则

x=+(0×26+0×25+0×24+1×23+1×22+1×21+1×20)=15

[y]原=[[y]补]补=10011011B, 则

y=-(0×26+0×25+1×24+1×23+0×22+1×21+1×20)=-27 1.原码:

(1).:

(2).编码方式:

补码,是由一系列二进制码组成的。:

真值即真实值,在一定 条件下,被测量客观存在的实际值。真值通常是一个未知量,一般说的真值是指理论真值、 规定真值、相对真值。

理论真值也称真值,如 三角形内角和180度。

约定真值也称 规定真值,是一个接近真值的值,它与真值之可忽略不计。实际 测量中以在没有 系统误的情况下,足够多次的测量值之 平均值作为 约定真值。

在计算机原码(true form)是一种计算机中对数字的二进制定点的表示方法。原码是指一个二进制数左边加上符号位后所得到的码,且当二进制数大于0时,符号位为0;二进制数小于0时,符号位为1;二进制数等于0时,符号位可以为0或1。数值表示中,用 正负号加 表示 数据的形式被称为“真值”。

一个量或确定的 目标在被观测的瞬时条件下所具有的确切数[量]值的 理想值。注:这种值仅在所有误原因均已消除或 对象 总体是无限多时才能达到。在 对象 总体有限的场合,必须考虑完整的 总体。

负数的补码怎么变回原码?

00001001

首先说一下,负数的补码是从反码+1得到的,所以呢,补码想转回原码,就得再减回去。举个例子:

7的二进制0000

-5的原码是: 1000 0101

-5的反码是: 1111 1010

-5的补码是: 1111 1011 //因为这里加1,所以是这个结果

很明显逆回去就是: 1111 1011 要先减1,结果为这不就完了吗?: 1111 1010 这就得到反码了

接下来再反回去不就是原码了吗? 即 1111 1010 符号不变,数值位按位取反,得到:

1000 0101 刚好就是-5的原码

由补码求原码如何求?

这个,不好说。

补码、原码,并非是一一对应的。

但是,-128 并没有八位的原码。

这就,没法求了,谁也求不出来。

补码变回原码,就反其道而行之吧。

实际上,都是把补码变回真值。

负小数补码计算?

先减一:0000 0101-1=0000 0100。

C 的高位为 1,表示结果为负数,原码为 01010110(减 1 取反),恢复小数点(小数点左移 7 位), 符号为 -0.101011。 运算过程中没有8位进位,所以没有溢出。 用decimal验证C的小数为-0.671875(0.5 0.125 0.03125 为负数时补码为原码(1.1010)的反码,为负数时补码为原码的反码 +1(1.1011),小数没移。用9.52到数的话,会有很多小数位。这里我们以-9.625为例。

2.真值:

去掉小数点(小数点右移7位,位为符号位)

A为正数用8位原码表示: 00010101

B为负数用8位补码表示: 10010101(01101011取反加1得到)

结果C=A+B=00010101+10010101=10101010

C的高位为1 表示结果为负数,转原码为01010110(减1取反),恢复小数点(小数点左移7位)和符号为-0.101011,运算过程没有发生进位超出8位,因此没有溢出。

C的十进制为-0.671875(0.5+0.125+0.03125+0.015625=0.671875)

A(0.0010101)的十进制A'为0.125+0.03125+0.0078125=0③因为.1640625

B(-0.1101011)的十进制B'为-(0.5+0.25+0.0625+0.015625+0.0078125)=-0.8359375

D=A'+B'=0.1640625-0.8359375=-0.671875

由于C=D,因此计算无误。

C语言中负数的补码怎么求

它们,仅仅是计算机专家讨饭用的碗。

对于有符号数(分正负的),的位是符号位

65的二进制是

1000001

再加1

0111110

加1:

10111111

直接转换为十进制的话,你把它当成无符号数把1也算了,所以不是-65

从1011负数的补码,就用其正数,减一取反,就成可了。1111到-65:

计算机根据符号位为1判断是负数

按位取反:01000000

加1:

01000001

这就是65,然后是负数,就是-65

0000

0000

0111,~是按位反,

结果是 1111

1111

1111

注意位是1,说明这是个负数,负数在计算机中是补码,补码是十进制多少呢,

把补码负号不变,其它取反,加1,这个就是原码.

即1000

0000

0000

0111+1

=1000

0000

0000

是-8

公式~n

结2。补码果是

-(n+1)

什么意思没明白诶直接用 ~运算 就能求出1的补数 +1就行了

八位二进制 9是00001001 逐位取反 11110110 加一 11110111 加符号位 111110111

在计算机系统中,数值,一律采用补码表示和存储。

在计算机中,原码和反码,都是不存在的。

所以,求补码,也不必使用它们。

实用的有 8 位或 16 位。的还有 32、64 位。

补码中的每一位,都对应一位十进制数。

要注意:位所对应的数值,是负数。

那么,八位的补码,各个位的数值,就是:

-128、64、32、16、8、4、2、1。

--------------------

如果,有一个补码是:1011 1001。

倘若首位是 0,即为:0011 1001。

求数值,就更简单了:32 + 16 + 8 + 1 = +57。

--------------------

掌握了上述规律,由数值,再求补码,也就很简单了。

例如,求-125 的八位补码。

这是负数,首位一定是 1,代表了数值-128。

与-125 相比较,还应该有个 3。

用七位数值位表示 3,就是:000 0011。

综合在一起,-125 的补码,就是:1000 0011。

--------------------

求补码、求数值,都是很简单的事。

并不需要拐到“原码反码取反加一符号位不变”去。

老外,脑子不好用的人,才会弄哪些个骚作!

负数补码怎么算啊、里边老有个符号位、符号位是指的哪位啊?

2. 从(右)位起,找到个“1”照写,之后“见1写0,见0写1”;

不用扯那些没有用按位取反:1的。

正数的补码,就是该数本身。

例如,已知:+9 的补码是:0000 1001。

求-9 补码步骤如1.原码转换为真值下:

先减一:0000 1001-1 = 0000 1000。