1樓:丶兔牙媽媽
相同的,正數的原碼=反碼=補碼。引進補碼的作用是為了讓計算機更方便做減法。
例如:按時間12個小時來算,現在的準確時間是4點,有一個表顯示的是7點,如果要校準時間,我們可以將時針退7-4=3格,也可以向前撥12-3=9格,計算機做減法就可以轉化成-3=+9,這樣可以簡化計算機的硬體裝置去做複雜的減法。
然而得到補碼的定義:正數時仍為正,而負數x求補要從2減去|x|。本就為了簡化減法引進的補碼,結果在求補的過程中還是出現減法。
這樣,再引進了反碼錶示法方便求補。補碼反碼就是為了簡化減法而來的,將減號化為負數,再將負數化為補碼求加法,跟正數沒關係。所以不管是正整數還是正小數,原碼,反碼,補碼都全部相同。
原碼是一種計算機中對數字的二進位制定點的表示方法。原碼是指一個二進位制數左邊加上符號位後所得到的碼,且當二進位制數大於0時,符號位為0;二進位制數小於0時,符號位為1;二進位制數等於0時,符號位可以為0或1。原碼是有符號數的最簡單的編碼方式,便於輸入輸出,但作為**加減運算時較為複雜。
數值位表示真值的絕對值。凡不足n-1位的,小數在最低位右邊加零;整數則在最高位左邊加零以補足n-1位。**中的小數點”.
”是在書寫時為了清晰起見加上去的,在機器中並不出現。
補碼在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。
計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示“正”,用1表示“負”,而數值位,三種表示方法各不相同。對於計算機,其概念和方法完全一樣。
n位計算機,設n=8,所能表示的最大數是11111111,若再加1成為100000000(9位),但因只有8位,最高位1自然丟失。又回了00000000,所以8位二進位制系統的模為2^8。在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。
把補數用到計算機對數的處理上,就是補碼。
反碼是數值儲存的一種,但是由於補碼更能有效表現數字在計算機中的形式,所以多數計算機都不採用反碼錶示數。
2樓:千祺瑞
答:對於正數,其原碼、反碼、補碼事實應該是相同的。
3樓:指間的極光
是的,對於正數來說,其二進位制原碼,反碼,補碼均為相同的,為原碼的形式。
4樓:匿名使用者
解決了加減運算的問題,但還是有正負零之分,然後就到補碼了 補碼是什麼? 正數的補碼與原碼相同,負數的補碼為 其原碼除符號位外所有位取反(得到反碼了),然後最低
計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎?
5樓:王王王小六
原碼、反碼和補碼是計算機中對
數字二進位制的三種表示方法。
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的方法。
6樓:匿名使用者
計算機以二進位制補碼儲存資料
以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
7樓:匿名使用者
十進位制→ 二進位制(怎麼算?要是不知道看計算機基礎的書去)47 → 101111
有符號的整數 原碼 反碼 補碼47 00101111 11010000 00101111(正數補碼和原碼相同)
-47 00101111 11010000 11010001(負數補碼是在反碼上加1)
為什麼正整數的原碼,反碼,補碼相同..?
8樓:四舍**入
這是一種規定。
補碼是為負數想出度來的辦法,目的是減法可以用加補碼的方法實現,補碼可用反碼加1得來,於是又有了負數的知反碼。
計算機裡有硬體“加法器”,有了補碼,減法道也可以用加法器做了。
計算機裡運算速度,內硬體遠快於軟體,這就是反碼,補碼和原碼花樣的原因。
9樓:匿名使用者
引進補碼的作用是為了讓計算機更方便做減法
比如說,按時間12個小時來算
現在的準確時間是4點
有一個表顯示的是7點
要校準時間,我們可以將時針退7-4=3格,也可以向前撥12-3=9格計算機做減法就可以轉化成-3=+9
這樣可以簡化計算機的硬體裝置去做複雜的減法然而得到補碼的定義:正數時仍為正,而負數x求補要從2減去|x|本就為了簡化減法引進的補碼,結果在求補的過程中還是出現減法這樣,再引進了反碼錶示法方便求補
說白了,補碼反碼就是為了簡化減法而來的,將減號化為負數再將負數化為補碼求加法
跟正數沒關係
不管是正整數還是正小數,原碼,反碼,補碼都全部相同
10樓:匿名使用者
我是一個規則,就像數學裡面的那些定理一樣
有符號數,補碼,反碼,原碼,0的原碼,補碼,反碼是什麼
定點數分為有符號數 signed 和無符號數 unsigned 其中,有符號數的表示方法有三種 原碼 反碼和補碼。反碼錶示法規定 正數的反碼與其原碼相同 負數的反碼是對其原碼逐位取反,但符號位除外。所謂原碼就是二進位制定點表示法,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。反碼錶示...
數的原碼,反碼,補碼怎麼算一個數的原碼,反碼,補碼怎麼算
數在計算機中是以二進位制形式表示的。數分為有符號數和無符號數。原碼 反碼 補碼都是有符號定點數的表示方法。一個有符號定點數的最高位為符號位,0是正,1是副。以下都以8位整數為例,原碼就是這個數本身的二進位制形式。例如0000001 就是 1 1000001 就是 1 正數的反碼和補碼都是和原碼相同。...
二進位制數11010100的原碼,反碼,補碼和移碼是什麼
正數的原 反 補碼都一樣 0的原碼跟反碼都有兩個,因為這裡0被分為 0和 0。二進位制數11010100 是負數 2 6 2 4 2 2 x 原 11010100 符號位不變,原碼的其他位按位取反 x 反 10101011 補碼在反碼的基礎上按照正常的加法運算加1 x 補 10101100 移碼不論...