跪求詳細地講解下原碼,補碼,反碼,移碼該怎麼求,及他們之間的

2022-03-18 21:45:40 字數 5994 閱讀 9185

1樓:沙裡波特

計算機中,只是使用補碼存放正負數。

補碼,與正負數一一對應。

有一個公式供你直接轉換,不需要繞道原碼反碼。

另外,移碼=補碼+偏移量。

原碼反碼,在計算機中,都不存在。

2樓:施曉暢茂萍

原碼:如果機器字長為n,那麼一個數的原碼就是用一個n位的二進位制數,其中最高位為符號位:正數為0,負數為1。剩下的n-1位表示概數的絕對值。

例如:x=+101011

,[x]原=

00101011

x=-101011

,[x]原=

10101011

位數不夠的用0補全。

正數的原、反、補碼都一樣:0的原碼跟反碼都有兩個,因為這裡0被分為+0和-0。

反碼:反碼就是在原碼的基礎上,符號位不變其他位按位取反(就是0變1,1變0)就可以了。

例如:x=-101011

,[x]原=

10101011

,[x]反=11010100

補碼:補碼是在反碼的基礎上按照正常的加法運算加1。

例如:x=-101011

,[x]原=

10101011

,[x]反=11010100,[x]補=11010101

ps:0的補碼是唯一的,如果機器字長為8那麼[0]補=00000000。

移碼:移碼不管正負數,只要將其補碼的符號位取反即可。

例如:x=-101011

,[x]原=

10101011

,[x]反=11010100,[x]補=11010101,[x]移=01010101

原碼,反碼和補碼之間有怎樣的計算關係?

3樓:戊力行學珍

原碼,反碼,

補碼的基礎概念和計算方法.

在探求為何機器要使用補碼之前,

讓我們先了解原碼,

反碼和補碼的概念.對於一個數,

計算機要使用一定的編碼方式進行儲存.

原碼,反碼,

補碼是機器儲存一個具體數字的編碼方式.

1.原碼

原碼就是符號位加上真值的絕對值,

即用第一位表示符號,

其餘位表示值.

比如如果是8位二進位制:

[+1]原

=0000

0001

[-1]原

=1000

0001

第一位是符號位.

因為第一位是符號位,

所以8位二進位制數的取值範圍就是:

[1111

1111

,0111

1111]

即[-127

,127]

原碼是人腦最容易理解和計算的表示方式.

2.反碼

反碼的表示方法是:

正數的反碼是其本身

負數的反碼是在其原碼的基礎上,

符號位不變,其餘各個位取反.

[+1]

=[00000001]原

=[00000001]反

[-1]

=[10000001]原

=[11111110]反

可見如果一個反碼錶示的是負數,

人腦無法直觀的看出來它的數值.

通常要將其轉換成原碼再計算.

3.補碼

補碼的表示方法是:

正數的補碼就是其本身

負數的補碼是在其原碼的基礎上,

符號位不變,

其餘各位取反,

最後+1.

(即在反碼的基礎上+1)

[+1]

=[00000001]原

=[00000001]反

=[00000001]補

[-1]

=[10000001]原

=[11111110]反

=[11111111]補

對於負數,

補碼錶示方式也是人腦無法直**出其數值的.

通常也需要轉換成原碼在計算其數值。

4樓:開樂志應奧

原碼:就是原碼,真實的碼

反碼:在原碼的基礎上,符號位不變,數值位按位取反補碼:1)正數的補碼:與原碼相同。

【例1】+9的補碼是00001001。

(2)負數的補碼:符號位為1,其餘位為該數絕對值的原碼按位取反然後整個數加1。

5樓:俎紹輝仁業

原碼正數的符號位為0,負數的符號位為1,其它位按照一般的方法來表示數的絕對值。用這樣的表示方法得到的就是數的原碼。

反碼對於一個帶符號的數來說,正數的反碼與其原碼相同,負數的反碼為其原碼除符號位以外的各位按位取反。

補碼正數的補碼與其原碼相同,負數的補碼為其反碼在最低位加1

6樓:沙裡波特

帶符號的數字,可變成各種**(八位的),見圖:

但是,在計算機中,原碼和反碼都是不存在的。

因此,就不必關心它們了。

只有補碼,才是實用的編碼。

其變換規律,完全可以自己摸索出來。

原碼、補碼、反碼之間是怎樣轉換的?

7樓:立港娜娜

一、正整數的原碼、反碼、補碼完全一樣,即符號位固定為0,數值位相同。

二、負整數的符號位固定為1,由原碼變為補碼時,規則如下:

1、原碼符號位1不變,整數的每一位二進位制數位求反,得到反碼。

2、反碼符號位1不變,反碼數值位最低位加1,得到補碼。

方法:(1)正整數的原碼,反碼和補碼計算。【符號位為0,原碼=反碼=補碼】

(2)負整數的原碼,反碼和補碼計算,先求原碼,再求反碼,最後求補碼。

(3)根據補碼求真值,一般使用圖中的公式計算,正整數符號為+,負整數符號為-,通常完成補碼求真後,可以按步驟1、2簡單的逆推一下,看結果是否正確。

8樓:風翼殘念

正數的原碼、反碼、補碼是一致的。(例如:2的原碼:0000 0010,那麼其反碼和補碼都是0000 0010)

負數的反碼顧名思義,是除了符號位與原碼一致,其餘位都與原碼相反。(例如:-2的原碼是1000 0010,那麼其反碼是1111 1101),負數的補碼則是在其反碼的基礎上加1。

(例如:-2的反碼是1111 1110)

1、首先,數字除了我們平時最長使用的十進位制數外,還有二進位制,八進位制,十六進位制等。這裡我們的原碼,補碼,反碼之間轉換指的是二進位制數。如下。

2、在二進位制數中,數字的正負是根據首位是0還是1來判斷的,如果首位是0,那麼就是正數,首位是1就代表負數。如下圖。

3、從原碼到反碼,如果該數為正數,也保持不變,如果首位是1,也就是說是負數,就將除了首位的1除外的所有數字取反。如下圖所示。點選即可檢視。

4、如果想要把原碼轉換成補碼,對正數來說,補碼與原碼相同,對負數來說,之間將反碼加1就可以得到補碼,計算示例如下圖所示。當然,我們還可以將補碼轉換為原碼。如果是負數得到的補碼,可以通過求該補碼的補碼來得到原來的原碼。如下。

9樓:

首先給的肯定是十進位制數,先轉換為2進位制,然後這一串數字必須為八位別問為啥,得出的二進位制結果放在最後,正數最高位必須為0,中間缺少的地方用0補齊,就得出來了,正數的原碼等於補碼等於補碼,負數的話原碼開頭必須為1,其餘如同上述,反碼最高位也是1,其他數字取相反的比如(1變0,0變1),補碼則在反碼最後一位加1.這是所有結果

10樓:沙裡波特

直接轉換,即可。

比如,12,

其原碼、補碼、反碼,都相等,都是 12。

正數的補碼,是其本身。

負數的補碼,就用它的正數,減一取反,即可得到補碼。

原碼、反碼,根本就沒有用。

所以,在計算機中,也沒有原碼和反碼。

那麼,我們也不必關心這些。

11樓:理工男老

原碼反碼補碼移碼概念和轉換方法

計算機,求反碼和原碼,詳細過程

12樓:潮綠柳奉乙

引入原碼

反碼和補碼的目的就是為了解決減法問題,因為計算機cpu的運算器中只有加法器,要把減法轉化成加法來計算。

舉個例子,a表示十進位制數「+16」,b表示十進位制數「-19」,把這兩個數的原碼直接相加,得:

a=+16

(a)原=00010000

b=-19

(b)原=10010011

00010000

+10010011

————

10100011

其結果符號位為1是負數,其數值位為100011,即等於十進位制數「-35」,這顯然是錯的結果。

再比如,十進位制數「+16」與「+19」的原碼直接相減,得:

00010000

-00010011

————

11111101

結果為「-125」,這又是錯的。

但是引入補碼後,加減法都可以用加法來實現,如「-16+11」的運算:

11110000

+-16的補碼

00001011

11的補碼

————

11111011

-5的補碼

如果是「-16-11」,那麼就轉化為加法運算「-16+(-11)」

11110000

+-16的補碼

11110101

-11的補碼

————

111100101

-27的補碼

在字長為8位的系統中,最高位所產生的進位被自然丟棄,運算結果的機器數為11100101,是-27的補碼形式,結果正確。

順便告訴你一些其它的東西:

1.二進位制數中,兩數的補碼之和等於兩數和的補碼。

2.補碼=反碼+1

3.反碼=原碼除符號位外其它數值取反(即該數的絕對值取反),即「0」變「1」,「1」變「0」。

4.任何正數的原碼

反碼補碼的形式完全相同(即都是自身,不變)

5.在計算機中,有符號的數都是採用補碼來表示的。

6.計算的時候,符號位也參與運算。

13樓:匿名使用者

1. 原碼

原碼就是符號位加上真值的絕對值, 即用第一位表示符號, 其餘位表示值. 比如如果是8位二進位制:

[+1]原 = 0000 0001

[-1]原 = 1000 0001

第一位是符號位. 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:

[1111 1111 , 0111 1111]

即[-127 , 127]

原碼是人腦最容易理解和計算的表示方式.

2. 反碼

反碼的表示方法是:

正數的反碼是其本身

負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反.

[+1] = [00000001]原 = [00000001]反

[-1] = [10000001]原 = [11111110]反

可見如果一個反碼錶示的是負數, 人腦無法直觀的看出來它的數值. 通常要將其轉換成原碼再計算.

3. 補碼

補碼的表示方法是:

正數的補碼就是其本身

負數的補碼是在其原碼的基礎上, 符號位不變, 其餘各位取反, 最後+1. (即在反碼的基礎上+1)

[+1] = [00000001]原 = [00000001]反 = [00000001]補

[-1] = [10000001]原 = [11111110]反 = [11111111]補

對於負數, 補碼錶示方式也是人腦無法直**出其數值的. 通常也需要轉換成原碼在計算其數值.

計算機組成原理:原碼,補碼,反碼,移碼之間的關係?

14樓:匿名使用者

所謂原碼就是二進位制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。  反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

  補碼錶示法規定:正數的補碼與其原碼相同;負數的補碼是在其反碼的末位加1。

詳細講解一下,詳細講解一下Android WindowsMobile Symbian Palm OS BlackBerry OS iOS這幾種系統的優缺點

你好,這些都是手機的作業系統。nokia symbian 塞班作業系統。mid android手機 一般都用android作業系統windowsmobile 微軟出來的手機作業系統iphone palm os 蘋果自己出的作業系統blackberry os 藍莓作業系統 現在用得比較多就是andro...

幫我詳細講解一下,幫我詳細講解一下

兩聲響,一聲是從空氣傳來的,一聲是鋼管傳來的。先鋼管,後空氣,你可以設鋼管長x米 t s v 這個可以不寫 x340m s x 5000m s 0.3sx約等於109 對錯不確定,有待考證,反正我是這麼寫的 聲音這鋁管中傳播,也在空氣中傳播,聽到的第一個聲音是鋁管中傳過來的,第二個是空氣中傳的 哪位...

具體倒裝句詳細講解,具體倒裝句詳細講解

1.no sooer than 引起的是主從複合句,主句應倒裝,從句不倒裝。它的用法是than前用had 主語 done,也就是過去完成時,than後用did,也就是過去式。這種需要你多背多記。2.a是過去完成時,也就是說這個動作要比failed早,而句子的意思是考試失敗後才意識到學習的重要性,所以...