當前位置:首頁 » 操作系統 » 7源碼補碼

7源碼補碼

發布時間: 2023-07-06 00:39:27

① -7的補碼和原碼是多少

原碼是 0111 ,補碼是 1001 。
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
在計算機系統中,數值一律用補碼來表示和存儲。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。

② +0或者-0的源碼、反碼、補碼

[+0]原碼=0000 0000, [-0]原碼=1000 0000

[+0]反碼=0000 0000, [-0]反碼=1111 1111

[+0]補碼=0000 0000, [-0]補碼=0000 0000

補碼沒有正0與負0之分。正數的反碼、補碼和其源碼相同,負數的反碼是其源碼,除符號位外其他位取反負數的補碼是取其反碼後加1。

詳細釋義:

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

(一)反碼表示法規定:

1、正數的反碼與其原碼相同;

2、負數的反碼是對正數逐位取反,符號位保持為1;

(二)對於二進制原碼10010求反碼:

((10010)原)反=對正數(00010)原含符號位取反= 反碼11101 (10010,1為符號碼,故為負)

(11101) 二進制= -2 十進制

(三)對於八進制:

舉例 某linux平台設置了默認的目錄許可權為755(rwxr-xr-x),八進製表示為0755,那麼,umask是許可權位755的反碼,計算得到umask為0022的過程如下:

原碼0755= 反碼 0022 (逐位解釋:0為符號位,0為7-7,2為7-5,2為7-5)

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

(2)7源碼補碼擴展閱讀

轉換方法

由於正數的原碼、補碼、反碼表示方法均相同,不需轉換。在此,僅以負數情況分析。

(1) 已知原碼,求補碼。

例:已知某數X的原碼為10110100B,試求X的補碼和反碼。

解:由[X]原=10110100B知,X為負數。求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。

1 0 1 1 0 1 0 0 原碼

1 1 0 0 1 0 1 1 反碼,符號位不變,數值位取反

1 +1

1 1 0 0 1 1 00 補碼

故:[X]補=11001100B,[X]反=11001011B。

(2) 已知補碼,求原碼。

分析:按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1 有方法。

例:已知某數X的補碼11101110B,試求其原碼。

解:由[X]補=11101110B知,X為負數。

採用逆推法

1 1 1 0 1 1 1 0 補碼

1 1 1 0 1 1 0 1 反碼(末位減1)

1 0 0 1 0 0 1 0 原碼(符號位不變,數值位取反)

③ 計算機的原碼,反碼,補碼是怎麼回事可以舉例說明嗎

原碼、反碼和補碼是計算機中對數字二進制的三種表示方法。

1、原碼

原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符號位(即最高位為符號位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。

例如:用8位二進製表示一個數,+11的原碼為00001011,-11的原碼就是10001011。

2、反碼

反碼是數值存儲的一種,多應用於系統環境設置,如linux平台的目錄和文件的默認許可權的設置umask,就是使用反碼原理。反碼的表示方法是:正數的反碼與其原碼相同;負數的反碼是對正數逐位取反,符號位保持為1。

例如:

[+7]反= 0 0000111 B;

[-7]反= 1 1111000 B。

3、補碼

正數:正數的補碼和原碼相同。負數:負數的補碼則是符號位為「1」。並且,這個「1」既是符號位,也是數值位。數值部分按位取反後再在末位(最低位)加1。也就是「反碼+1」。

例如:

[+7]補= 0 0000111 B;

[-7]補= 1 1111001 B。

(3)7源碼補碼擴展閱讀

原碼、反碼、補碼的轉換方法如下:

(1) 已知原碼,求補碼。

例:已知某數X的原碼為10110100B,試求X的補碼和反碼。

首先通過原碼的首位確定該數字的正負,若為正數,反碼與原碼相同,補碼比原碼在末尾加1;若為負數,求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。

(2)已知補碼,求原碼。

按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1的方法。

④ 計算機源碼,反碼,補碼之間怎麼計算

轉換方法:

如果是正數或零,則首位為 0,補碼=原碼=反碼。

否則,首位為 1,數值位取反加一,即可實現「補碼與原碼」互換。

例如:

1111 1001 取反,為 1000 0110,再加一,得:1000 0111

1000 0111 取反,為 1111 1000,再加一,得:1111 1001

這說明,補碼 ←→ 原碼,方法是相同的。

⑤ 二進制的原碼、補碼、反碼詳解

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

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

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

比如鍾表,時針轉一圈,周期是 12 小時。

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

9,就稱為-3 的補數。

計算方法:12-3 = 9。

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

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

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

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

24-1 = 23

24 + 99 = (1) 23

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

於是,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 的補碼=0000 0111

-3的補碼=1111 1101

--相加-------------

得:(1) 0000 0100 = 4 的補碼

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

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

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

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

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

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

熱點內容
java輸出到文件 發布:2025-03-19 01:49:07 瀏覽:431
光遇國際服安卓和蘋果如何互通 發布:2025-03-19 01:43:03 瀏覽:318
如何加密應用 發布:2025-03-19 01:42:04 瀏覽:619
lol伺服器人數怎麼擠 發布:2025-03-19 01:29:19 瀏覽:840
兄弟連的php 發布:2025-03-19 01:24:25 瀏覽:812
自己做腳本可不可以 發布:2025-03-19 01:20:13 瀏覽:534
33的源碼值 發布:2025-03-19 01:13:25 瀏覽:814
虛榮安卓怎麼充值 發布:2025-03-19 01:12:27 瀏覽:892
如何更改報考密碼 發布:2025-03-19 01:08:12 瀏覽:416
python日期類型 發布:2025-03-19 01:02:28 瀏覽:416