計算機中資料儲存!原碼,反碼。補碼。如何轉換

2023-07-03 21:25:08 字數 6951 閱讀 4616

1樓:做而論道

在計算機系統中,數值,一律用補碼錶示和儲存。

計算機中,並沒有原碼和反碼。

那麼,什麼是補碼?補碼和數值,是怎麼換算的?

這應該從「補數」說起。

如果限定了參加計算的「位數」,就會發生不同尋常的事。

一般的計算,是用十進位制來進行的。

如果,限定,只使用兩位數

那麼,-1 和 +99,功能就是相同的:

25 + 99 = 一百) 24

在這裡,99,就是-1 的「補數」。

一百,就是 10^2,則稱為:計數週期。

補數的計算公式: 99 + 1 | 週期。

計算機使用二進位制,補數,就改稱為:補碼。

八位機,就是用 8 位二進位制,來參加計算。

計數範圍:0000 0000~1111 1111(十進位制 255)。

計數週期就是:2^8 = 256。

那麼:-1 的補碼,就是 256-1 = 255 = 1111 1111。

-2 的補碼,就是 256-2 = 254 = 1111 1110。

求補碼的通用公式,就是:週期 + 負數。

補碼,就是補碼。

補碼和原碼反碼,並沒有任何關係。

求補碼,並不需要藉助於原碼和反碼。

在計算機中,利用補碼,就能:用加法代替減法運算。

因此,就可以簡化計算機的硬體。

例如,用補碼計算: 3 + 1) =2。

+ 1111 1111 (用 255 當做-1)

捨棄進位,只取八位的結果,這演算法,就完全正確。

2樓:勾天籟友範

原碼:先將十進位制數轉換成二進位制數,然後把最高位作為符號位,正數設為「0」,負數設為「1」

反碼:正數的反碼和原碼一樣,負數的反碼就是:符號位不變,數值位逐位取反。

補碼:正數的補碼和原碼一樣,負數的補碼就是:反碼的最低位加1看一下:求出45和-45在8位機器中的原碼反碼補碼。

原碼。反碼。補碼。

原碼、反碼、補碼都一樣)

最高位沒變,數值位取反)

11010011(反碼最低位加1)

3樓:甄欣然敬姍

引入原碼。反碼。

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

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

a=+16(a)原=00010000

b=-19(b)原=10010011

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

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

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

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

16的補碼。

11的補碼。

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

16的補碼。

11的補碼。

27的補碼。

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

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

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

2.補碼=反碼+1

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

4.任何正數的原碼。

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

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

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

計算機原碼反碼補碼怎麼算

4樓:象拔蚌燒賣

計算機原碼反碼補碼計算方法:

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]補。

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

5樓:沙裡波特

計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。

使用補碼的意義:可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。

比如鐘錶,時針轉一圈,週期是 12 小時。

倒撥 3 小時,可以用正撥 9 小時代替。

9,就稱為-3 的補數。

計算方法:12-3 = 9。

對於分針,倒撥 x 分,就可以用正撥 60-x 代替。

如果,限定了兩位十進位制數 (0~99),週期就是 100。

那麼,減一,就可以用 +99 代替。

忽略進位,只取兩位數,這兩種演算法,結果就是相同的。

於是,99 就是 -1 的補數。

其它負數的補數,大家可以自己求!

求出了負數的補數,就可用加法,代替減法了。

計算機中使用二進位制,補數,就改稱為【補碼】。

常用的八位二進位制是:0000 0000~1111 1111。

它們代表了十進位制:0~255,週期就是 256。

那麼,-1,就可以用 255 = 1111 1111 代替。

所以:-1 的補碼,就是 1111 1111 = 255。

同理:-2 的補碼,就是 1111 1110 = 254。

繼續:-3 的補碼,就是 1111 1101 = 253。

最後:-128,補碼是 1000 0000 = 128。

計算公式:負數的補碼=256+這個負數。

正數,直接運算即可,不需要求補碼。

也可以說,正數本身就是補碼。

補碼的應用如: 7-3 = 4。

用補碼的計算過程如下:

7 的補碼=

3的補碼=

相加

得: (1)= 4 的補碼。

捨棄進位,只保留八位,作為結果即可。

這就是:使用補碼,加法就代替了減法。

所以,在計算機中,有一個加法器,就夠用了。

原碼和反碼,都沒有這種功能。

原碼和反碼,毫無用處。計算機中,根本就沒有它們。

計算機原碼反碼補碼怎樣計算

6樓:做而論道

計算機中,只有補碼,沒有原碼和反碼

數字,在計算機中,一律用補碼錶示。數字與補碼的關係,可見下表:

換算公式,很簡單的,一看便知。

原碼反碼取反加一,實際上,都沒有什麼用處。

老外數學不好,才不得不用這麼麻煩的做法。

計算機原始碼,反碼,補碼之間怎麼計算?

7樓:逢淑英毛戊

原始碼就是2過制反碼就是全反過來0變1

1變0補碼就是反碼加1比如十進位制數。

34二進位制是。

100010反碼是。

011101補碼是。

8樓:光升堅盼易

是原碼不是原始碼。

對於整數:補碼反碼原碼都是一樣的,也就是它本身的二進位制對於負數:

原碼:絕對值的原碼,將最高為變1

反碼:絕對值的原碼按位取反。

補碼:絕對值的原碼按位取反再加1

9樓:屈景賓家欣

正數的原始碼、反碼、補碼相同。

負數的原始碼第一位為1,代表負數,反碼為符號位不變,其他為取反,補碼為反碼加1.

10樓:革亭晚甄戊

換算根據他們各自的定義進行。

所謂原碼就是二進位制定點表示法,即最高位為符號位,「0」表示正,「1」表示負,其餘位表示數值的大小。

反碼錶示法規定:正數的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,但符號位除外。

原碼10010=

反碼11101

10010,1為符號碼,故為負)

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

例如:(1)

原碼:在數值前直接加一符號位的表示法。

例如:符號位。

數值位[+7]原=

b[-7]原=

b注意:a.

數0的原碼有兩種形式:

定點小數表示方法。

0]原=00000000b

0]原=10000000b

位二進位制原碼的表示範圍:-127~+127換算:[+7]反=

b[-7]反=

b[+7]補=

00000111b等於。

7]原。-7]補=

11111001b等於。

7]反+1

11樓:及義藍壬

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

2、負整數的符號位固定為1,由原碼變為補碼時,規則如下:原碼符號位1不變,整數的每一位二進位制數位求反,得到反碼;反碼符號位1不變,反碼數值位最低位加1,得到補碼。

3、例如正整數的原碼為01110110,則反碼和補碼也為01110110;負整數的原碼為11110110,反碼為10001001,補碼為11110111。

拓展資料:1、反碼是數值儲存的一種,多應用於系統環境設定,如linux平臺的目錄和檔案的預設許可權的設定umask,就是使用反碼原理。在計算機內,定點數有3種表示法:原碼、反碼和補碼。

2、在計算機系統中,數值一律用補碼來表示(儲存)。

主要原因:使用補碼,可以將符號位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補。

碼錶示的數相加時,如果最高位(符號位)有進位,則進位被捨棄。

計算機原碼反碼補碼怎麼計算

12樓:做而論道

計算機系統中,數值,一律用補碼來表示和儲存。

原碼和反碼。

在計算機中,都是不存在的。

所以,只要掌握「補碼和數值」之間的互換,就夠用了。

補碼的每一位,都對應一個十進位制數。

必須注意:補碼的首位,代表了【負的數值】。

例如,八位的補碼是:

它即代表數值:

如果,首位是 0 呢?如:

它代表的數值,就是

掌握了「補碼求數值」的換算之後,反過來求,也就容易了。

題目:-125 的八位補碼,是什麼?

解:先確定首位。

這是負數,首位應該是 1,且代表-128。

其餘數值位,就應該是 3,二進位制是 11。

寫在一起,就是 1000 0011。

補碼與數值,可以直接,互相換算。

根本就用不著「原碼反碼取反加一。。。亂七八糟的」!

老外數學不好,腦子太爛,才發明了這些垃圾。

但是,這些,在計算機裡面,都用不上。

計算機中資料儲存!原碼,反碼。補碼。如何轉換

原碼 先將十進位制數轉換成二進位制數,然後把最高位作為符號位,正數設為 0 負數設為 1 反碼 正數的反碼和原碼一樣,負數的反碼就是 符號位不變,數值位逐位取反 補碼 正數的補碼和原碼一樣,負數的補碼就是 反碼的最低位加1 看一下 求出45和 45在8位機器中的原碼反碼補碼 原碼 反碼 補碼 45 ...

計算機中,enter,ctrl enter,shift en

alt enter,將windows下執行的msdos視窗在視窗和全螢幕狀態間切換 在瀏覽器中可以開啟屬性視窗,在excel中可以換行 在world中的enter。其他請樓下的補充吧。朋友,你都沒說清楚是在哪兒用這個幾個組合呀?讓人怎麼回答?這些鍵在軟體編寫過程中是可以自定義的,所以。enter主要...

在計算機中bit的含義是什麼,在計算機中bit的含義是什麼?

一個二制位,八個bit組成一個位元組,是存貯資料的最小單位.二進位制位 bit 一個位元組 type 等於八個二進位制位。bit是電腦中檔案大小的單位,bit是位,byte是位元組,位元組是最小的單位,1bit 8byte。2進位制數 bit 1 byte 1111 1kb 1024byte 1mb...