源碼一加零
A. +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。
(1)源碼一加零擴展閱讀
轉換方法
由於正數的原碼、補碼、反碼表示方法均相同,不需轉換。在此,僅以負數情況分析。
(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 原碼(符號位不變,數值位取反)
B. 要源碼和補碼到底是干什麼呢,我實在搞不懂
原碼和反碼,都沒有用啊!
只有補碼,能把減法,轉化為加法,所以才在計算機中,得到了應用。
補碼,在計算機中,是代表正負數的。
補碼、正負數,一一對應,有簡單計算公式。
所以,由正負數,直接就能求出補碼,根本就用不著原碼反碼。
C. 電動三輪車源碼故障是什麼意思
摘要 斷碼,就是斷格。表現為,不加電門的時候電量表顯示滿電,一加電門就欠壓。或者打開鑰匙的時候電表直接顯示欠壓!可以單獨更換這個斷格的電池,電動車還可以再跑跑的!
D. 什麼的編碼有兩個零
0有+0和-0之分
+0的原碼(8位):0000_0000
反碼、補碼同。
-0的原碼(8位):1000_0000
反碼 :1111_1111
補碼 : 0000_0000
相比較起來,原碼和反碼都有2個表示0的編碼。補碼都是一樣的。
總之,正數的原碼、反碼、補碼一樣;
負數的原碼就是{符號位1,絕對值原碼},反碼等於符號位除外的各位取反,補碼等於反碼加1。
無符號數:最高位不用來表示正負,它沒有負數
所以答案是AB
E. 原碼,反碼,補碼和移碼: 原碼:1001101,反碼,補碼,移碼各是多少
解:首位數字表示正負不做變(1為負數,0為正數)
反碼:1110010(正數反碼等於原數,題中為負數,則除首位數對應取反)
補碼:1110011(得出反碼數基礎上末位加一)
移碼:0110011(補碼符號位第一位數字取反)
反碼是數值存儲的一種,多應用於系統環境設置,如linux平台的目錄和文件的默認許可權的設置umask,就是使用反碼原理。
補碼(2's complement)是一種用二進製表示有號數的方法,也是一種將數字的正負號變號的方式。
移碼(又叫增碼)是符號位取反的補碼,一般用指數的移碼減去1來做浮點數的階碼,引入的目的是為了保證浮點數的機器零為全0。
(5)源碼一加零擴展閱讀
補碼的設計目的是:
1.使符號位能與有效值部分一起參加運算,從而簡化運算規則.
2.使減法運算轉換為加法運算,進一步簡化計算機中運算器的線路設計 所有這些轉換都是在計算機的最底層進行的,而在我們使用的匯編、C等其他高級語言中使用的都是原碼。
小數和分數的補碼:
1.十進制分數補碼可以先將分子和分母分別表示成二進制數,然後計算出二進制小數,再按下面第三步的方法將求出小數的補碼形式。
2.十進制小數的補碼也應該先將其轉換成二進制小數,再按下面第三步的方法將求出小數的補碼形式。
F. 補碼10000000原碼是多少
無法用原碼表示,按照原碼定義,8位原碼所表示真值的范圍為:-127(11111111B)~+127(01111111B)。補碼10000000B的真值為-128,超出了8位原碼的表示範圍,所以無法用8位原碼表示。
數0的補碼表示是唯一的。
[+0]補=[+0]反=[+0]原=00000000;
[-0]補=11111111+1=00000000。
(6)源碼一加零擴展閱讀:
已知一個數的補碼,求原碼的操作其實就是對該補碼再求補碼:
1、如果補碼的符號位為「0」,表示是一個正數,其原碼就是補碼。
2、如果補碼的符號位為「1」,表示是一個負數,那麼求給定的這個補碼的補碼就是要求的原碼。
例:已知一個補碼為11111001,則原碼是10000111。
因為符號位為「1」,表示是一個負數,所以該位不變,仍為「1」。
其餘七位1111001取反後為0000110;再加1,所以是10000111。
網路-補碼
G. 源碼10000,補碼為多少
不是那樣的,正數的源碼反碼補碼是一樣的。分兩種情況:一,10000中的1是符號位,則補碼是 1 0000;二,10000中的1不是符號位,則補碼是0 10000.順便說下,你說的是求負數的補碼才遵循的原則!
H. 計算機源碼,反碼,補碼之間怎麼計算
轉換方法:
如果是正數或零,則首位為 0,補碼=原碼=反碼。
否則,首位為 1,數值位取反加一,即可實現「補碼與原碼」互換。
例如:
對 1111 1001 取反,為 1000 0110,再加一,得:1000 0111。
對 1000 0111 取反,為 1111 1000,再加一,得:1111 1001。
這說明,補碼 ←→ 原碼,方法是相同的。
I. 源碼 反碼 補碼的概念
帶符號數,有三種表示方法,即:原碼、反碼和補碼。
但是,在計算機系統中,數值一律用【補碼】來表示和存儲。
所以,在計算機系統中,原碼和反碼,都是不存在的。
使用補碼的意義:可以把減法或負數,轉換為加法運算。
因此,就能簡化計算機的硬體。
=====================
補碼的概念,來自於:補數。
比如鍾表,時針轉一圈,周期是 12 小時。
那麼,倒撥 3 小時,可以用正撥 9 小時代替。
9,就是-3 的補數。計算方法:9 = 12-3。
同理,分針倒撥 X 分,可以用正撥(60-X)代替。
60,是分針的周期。
同理,三角函數的周期是 2π。那麼,
在-π/2 處的函數值,就與2π-π/2 = +3π/2處相同。
------------
當你使用兩位十進制數:0~99,周期就是 一百。
那麼,減一,就可以用 +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 + 這個負數 】。
(式中的 256 = 2^8,是八位二進制的周期。)
正數,並不存在補碼的問題。
所以,正數,並沒有補碼,可以直接運算。
(也有人亂說:正數本身就是補碼。)
------------
求解算式:7-3 = 4。
計算機中,並沒有減法器,必須改用補碼相加。
列豎式如下:
7 的補碼=0000 0111
-3的補碼=1111 1101
--相加-------------
得:(1)0000 0100= 4 的補碼
舍棄進位,只保留八位,結果完全正確。
------------
藉助於補碼,可以簡化計算機的硬體。
原碼和反碼,都沒有這種功能。
所以,在計算機中,根本就沒有原碼和反碼。
它們都是什麼?就不用關心了。
J. 源碼反碼與補碼
8位2進制原碼反碼補碼表示法:第一位是符號位,正數為0負數為1
-67的原碼是11000011,換成反碼符號位不變,其他各位依次求反:
10111100,換成補碼只在反碼基礎上末位加1:
10111101。
55的原碼00110111,正數原碼反碼補碼相同。
補碼實現55-67:00110111
+10111101
---------------------------
11110100
把這個補碼末位減一,符號位不變各位取反得到結果的原碼表示:10001100,
轉換成十進制剛好等於-12,驗證了結果11110100是正確的。