源码10011010_源码资本

hacker|
130

文章目录:

用原码,补码,反码三种方式计算:(-26)-17=?在线等,急求

-26原码为:10011010

-17原码为:10010001

-26-17的源码为:10101011

以8位为例,源码的最高位为符号位,1代表负数。

反码是源码符号位不变,其他位取反。

-26-17的反码为:11010100

补码是在反码的基础上+1

-26-17的补码为:11010101

计算机的反码,原码,补码,移码相关知识!望达人给讲下~

1.原码11001010 ,它的反码的确是1011 0101 ,它的补码是在反码的基础上在最低位加1,但反码最低位是1,加上1后,本位为0,向高位产生进位,则高位为1。因此补码应该是10110110;

2.正数的原码,反码,补码都相等(一样),这的确是硬性规定;

3.计算机中所有数据的运算都是用补码进行的,反码、原码等的学习只是为了更好的学习和理解补码。

c语言:原码,反码 补码?

1)原码表示

原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。

例如,X1=

+1010110

X2=

一1001010

其原码记作:

[X1]原=[+1010110]原=01010110

[X2]原=[-1001010]原=11001010

在原码表示法中,对0有两种表示形式:

[+0]原=00000000

[-0]

原=10000000

2)补码表示

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110

[X2]=

一1001010

[X1]原=01010110

[X1]补=01010110

[X1]原=[X1]补=01010110

[X2]

原=

11001010

[X2]

补=10110101+1=10110110

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110

[X2]=

一1001010

[X1]原=01010110

[X1]补=01010110

[X1]原=[X1]补=01010110

[X2]

原=

11001010

[X2]

补=10110101+1=10110110

(3)反码表示法

机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作[X]反。

例如:X1=

+1010110

X2=

一1001010

[X1]原=01010110

[X1]反=[X1]原=01010110

[X2]原=11001010

[X2]反=10110101

反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。

例1.

已知[X]原=10011010,求[X]补。

分析如下:

由[X]原求[X]补的原则是:若机器数为正数,则[X]原=[X]补;若机器数为负数,则该机器数的补码可对它的原码(符号位除外)所有位求反,再在未位加1而得到。现给定的机器数为负数,故有[X]补=[X]原十1,即

[X]原=10011010

[X]反=11100101+1

[X]补=11100110

例2.

已知[X]补=11100110,求[X]原。

分析如下:

对于机器数为正数,则[X]原=[X]补

对于机器数为负数,则有[X]原=[[X]补]补

现给定的为负数,故有:

[X]补=11100110

[[X]补]反=10011001+1

[[X]补]补=10011010=[X]原+1

[[X]补]补=10011010=[X]原

总结一下,原码(为负时,正时都不变)全部取反即得到反码,反码加

"1"就得到补码了,就是这么简单。

写出下列的其他进制:32=0 =0x.75=0 =0x 分别求出26和-26的原码,反码和补码

32 = 100000b = 80 o = 20 ox

75 = 1001001b = 111 o = 49 ox

26

源码 00011010

反码 00011010 (正数的反码与原码相同)

补码 00011010 (正数的补码与反码相同)

-26

源码 10011010

反码 11100101

补码 11100110

C语言的原码,反码,补码是什么意思?

1)原码表示

原码表示法是机器数的一种简单的表示法。其符号位用0表示正号,用:表示负号,数值一般用二进制形式表示。设有一数为x,则原码表示可记作[x]原。

例如,X1= +1010110

X2= 一1001010

其原码记作:

[X1]原=[+1010110]原=01010110

[X2]原=[-1001010]原=11001010

在原码表示法中,对0有两种表示形式:

[+0]原=00000000

[-0] 原=10000000

2)补码表示

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110

[X2]= 一1001010

[X1]原=01010110

[X1]补=01010110

即 [X1]原=[X1]补=01010110

[X2] 原= 11001010

[X2] 补=10110101+1=10110110

机器数的补码可由原码得到。如果机器数是正数,则该机器数的补码与原码一样;如果机器数是负数,则该机器数的补码是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。

例如,[X1]=+1010110

[X2]= 一1001010

[X1]原=01010110

[X1]补=01010110

即 [X1]原=[X1]补=01010110

[X2] 原= 11001010

[X2] 补=10110101+1=10110110

(3)反码表示法

机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作[X]反。

例如:X1= +1010110

X2= 一1001010

[X1]原=01010110

[X1]反=[X1]原=01010110

[X2]原=11001010

[X2]反=10110101

反码通常作为求补过程的中间形式,即在一个负数的反码的未位上加1,就得到了该负数的补码。

例1. 已知[X]原=10011010,求[X]补。

分析如下:

由[X]原求[X]补的原则是:若机器数为正数,则[X]原=[X]补;若机器数为负数,则该机器数的补码可对它的原码(符号位除外)所有位求反,再在未位加1而得到。现给定的机器数为负数,故有[X]补=[X]原十1,即

[X]原=10011010

[X]反=11100101+1

[X]补=11100110

例2. 已知[X]补=11100110,求[X]原。

分析如下:

对于机器数为正数,则[X]原=[X]补

对于机器数为负数,则有[X]原=[[X]补]补

现给定的为负数,故有:

[X]补=11100110

[[X]补]反=10011001+1

[[X]补]补=10011010=[X]原+1

[[X]补]补=10011010=[X]原

总结一下,原码(为负时,正时都不变)全部取反即得到反码,反码加

"1"就得到补码了,就是这么简单。

补码如何变成原码

已知一个数的补码,求原码的操作分两种情况:

(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码。

(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1。

例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为   “1”;其余7位1111001取反后为0000110;再加1,所以是10000111。

扩展资料:

总结:

已知一个数的补码,求原码的操作其实就是对该补码再求补码。

补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码。

正整数的原码、反码和补码是一样的,即看到符号位(第一位)是0,就可以照着写出其他两种码。所以已知正数的补码,求其原码,两个数是一样的。

参考资料:百度百科——补码

5条大神的评论

  • avatar
    访客 2022-07-13 上午 03:16:23

    110101+1=10110110(3)反码表示法 机器数的反码可由原码得到。如果机器数是正数,则该机器数的反码与原码一样;如果机器数是负数,则该机器数的反码是对它的原码(符号位除外)各位取反而得到的。设有一数X,则X的反码表示记作[X]反。例如:X1= +1010110X2= 一

  • avatar
    访客 2022-07-13 上午 06:15:36

    加1,所以是10000111。扩展资料:总结:已知一个数的补码,求原码的操作其实就是对该补码再求补码。补码转换为原码:符号位不变,数值位按位取反,末位再加1。即补码的补码等于原码。正整数的原码、反码和补码是一样的,

  • avatar
    访客 2022-07-13 上午 07:41:40

    0[X]反=11100101+1[X]补=11100110例2. 已知[X]补=11100110,求[X]原。分析如下:对于机器数为正数,则[X]原=[X]补对于机器数为负数,则有[X]原=[[X]补]补现给定的为负数,故有:[X]补=11100110[[X]补]反=100110

  • avatar
    访客 2022-07-13 上午 05:38:32

    是对它的原码(除符号位外)各位取反,并在未位加1而得到的。设有一数X,则X的补码表示记作[X]补。例如,[X1]=+1010110[X2]=一1001010[X1]原=01010110[X1]补=01010110即[X1]原=[X1]补=01010110[X

  • avatar
    访客 2022-07-13 上午 03:46:25

    [X]补=11100110,求[X]原。分析如下:对于机器数为正数,则[X]原=[X]补对于机器数为负数,则有[X]原=[[X]补]补现给定的为负数,故有:[X]补=11100110[[X]补]反=10011001+1[[X]补]补=1001101

发表评论