1樓:
一:對於正數,原碼和反碼,補碼都是一樣的,都是正數本身。
對於負數,原碼是符號位為1,數值部分取x絕對值的二進位制。
反碼是符號位為1,其它位是原碼取反。
補碼是符號位為1,其它位是原碼取反,未位加1。
也就是說,負數的補碼是其反碼未位加1。
移碼就是將符號位取反的補碼
二:在計算機中,實際上只有加法運算,減法運算也要轉換為加法運算,
乘法轉換為加法運算,除法轉換為減法運算。
三:在計算機中,對任意一個帶有符號的二進位制,都是按其補碼的形式進行運算和儲存的。之所以是以補碼方式進行處理,而不按原碼和反碼方式進行處理,是因為在對帶有符號位的原碼和反碼進行運算時,計算機處理起來有問題。
而按補碼方式,一方面使符號位能與有效值部分一起參加運算,從而簡化運算規則。另一方面使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計
四:補碼加、減運算公式
1):補碼加法公式
[x+y]補 = [x]補 + [y]補
2):補碼減法公式
[x-y]補 = [x]補-[y]補 = [x]補 + [-y]補
已知[+y]補求[-y]補的規則是全部位(含符號位)按位取反後再加1。
五:由補碼求原碼
已知一個數的補碼,求原碼的操作分兩種情況:
1. 如果補碼的符號位為「0」,表示是一個正數,所以補碼就是該數的原碼。
2. 如果補碼的符號位為「1」,表示是一個負數,求原碼的操作可以是:符號位為1;其餘各位取反,然後再整個數加1。
*************************==按你的要求以8位二進位制進行計算*****==
以8位二進位制操作為例,其運算取值範圍是-128~127。
那麼綜上所述,我們可以得到-126-100,可以看成(-126)+(-100),目的是使減法操作變為加法
-126 -> 1111 1110 ->反 1000 0001 ->補 1000 0010
100 -> 0110 0100 -> 負數求補 1001 1011+1 -> 負補 1001 1100
做補碼相加得 -126補+(-100) 補-> 1000 0010補 + 1001 1100補 ->1 0001 1110補 ->自然丟棄超出 0001 1110補
由補求原得到 0001 1110補 -> 0001 1110原
得到的結果為00011110,如果兩個負數相加如果溢位,那麼結果一定是正數,由此可知計算結果溢位。
2樓:匿名使用者
先把數轉化成二進位制,負數符號位為1正數0,此為原碼。(如-35的二進位制為10100011。注:
第一位為符號位。)原碼轉反碼:符號位為1不變,其餘取反(有1、0)。
反碼轉補碼:反碼加一。(如:
10100011→10100100)
3樓:劉政利
[-0]原=1.0000(小數點前的數字表示符號,整數用0表示,負數用1表示)
[-0]反=1.1111(負數的反碼為 除符號外,其他位全取反)[-0]補=0.0000(負數的補碼為反碼加1,在反碼的基礎上再加1以後符號為可能改變)
正數的原碼、反碼、補碼相同,都等於原碼。
4樓:做而論道
計算機中負數,都是用補碼來表示。
原碼、反碼,都是求補碼時的中間過程變數,是寫在紙上的,並不存入計算機。
可以參考:
5樓:伊布魏巍
計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎?
6樓:王王王小六
原碼、反碼和補碼是計算機中對
數字二進位制的三種表示方法。
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。
擴充套件資料
原碼、反碼、補碼的轉換方法如下:
(1) 已知原碼,求補碼。
例:已知某數x的原碼為10110100b,試求x的補碼和反碼。
首先通過原碼的首位確定該數字的正負,若為正數,反碼與原碼相同,補碼比原碼在末尾加1;若為負數,求其反碼時,符號位不變,數值部分按位求反;求其補碼時,再在其反碼的末位加1。
(2)已知補碼,求原碼。
按照求負數補碼的逆過程,數值部分應是最低位減1,然後取反。但是對二進位制數來說,先減1後取反和先取反後加1得到的結果是一樣的,故仍可採用取反加1的方法。
7樓:匿名使用者
計算機以二進位制補碼儲存資料
以16位機器為例:
比如83的二
進位制碼為:0000 0000 0101 0011由於正數的原始碼、反嗎、補碼,上面的既是原始碼,也是反碼和補碼下面通過負數講解原始碼、反碼、補碼之間的關係以-83為例
先求出-83絕對值的原始碼:0000 0000 0101 0011計算機區分正負數通過判斷最高位符號位,1為負數、0為正數那麼-83的原始碼為:1000 0000 0101 0011反碼在原始碼基礎上按位取反,符號位不變:
1111 1111 1010 1100
補碼在反碼的基礎上加1:1111 1111 1010 1101補碼轉原始碼:補碼基礎上按位取反後加一,符號位在取反時不變,加一時最高位符號位有進位的,進位忽略
取反:1000 0000 0101 0010加1:1000 0000 0101 0011
8樓:匿名使用者
十進位制→ 二進位制(怎麼算?要是不知道看計算機基礎的書去)47 → 101111
有符號的整數 原碼 反碼 補碼47 00101111 11010000 00101111(正數補碼和原碼相同)
-47 00101111 11010000 11010001(負數補碼是在反碼上加1)
整數的原碼,反碼和補碼的表示整數的原碼反碼補碼是什麼意思??
原碼錶示 將符號位數碼化了的數,其中 用0表示,用1表示。反碼錶示 正數的反碼錶示與原碼錶示一樣 負數的反碼錶示是原碼錶示的符號位不變,數值位逐位取反。補碼錶示 正數的補碼錶示與原碼錶示一樣 負數的補碼錶示是原碼錶示的符號位不變,數值位逐位取反後最低位加1 反碼錶示最低位加1 例 63 原 0111...
計算機原碼反碼補碼的最大值和最小值各是什麼
在一個位元組裡的,原碼的我已經知道了 最大的是01111111 最小的是11111111。想知道反碼和補碼最大的和最小的 現在我們知道了計算機可以有三種編碼方式表示一個數.對於正數因為三種編碼方式的結果都相同 1 00000001 原 00000001 反 00000001 補 所以不需要過多解釋....
計算機中的三原色用哪字母表示,計算機中的三原色用哪三個字母表示?
r red,紅色 g green,綠色 b blue,藍色 有些地方用 rgba alpha alpha用來確定透明度 本質是和其他顏色混合的方式 用英語單詞的第一個字母,r代表紅色,g代表綠色,b代表藍色。補充 r代表紅色,g代表綠色,b代表藍色。r是紅,b是蘭,g是綠 光的三原色與印刷三原色 一...