1樓:做而論道
所謂的「補碼」,是乙個「代替負數」的正數。
比如,鐘錶的時針,倒撥 3 小時,可以用正撥 9 小時代替。
演算法是:+9 = 3 + 12。公升尺。
其中的 12,是時針的週期。+9 就稱為-3 的補數。
分針,倒撥 x 分,也可用正撥 (-x + 60) 代替。
三角函式,週期是 2π。
任何的負角度,也可以用正角度代替。
如:-π2,其等效值是:-π2 + 2π =3π/2。
通用的換算公式,是:等效的正數 = 負數 + 週期。
等效值,在計算機專業,就重新命名:補碼閉首。
對於 8 位 2 進位數,計數週期就是:2^8 = 256。
1 的補碼:-1 + 256 = 255 = 1111 1111 (二進位)。
128 的補碼: 128 = 1000 0000。
零和正數,並不存在「等效的正數」。
所以,零和正數,根本就不存在補碼。
用補碼(正數)代替負數之後,計算機中,就沒有負轎笑數數了。
同時,也就沒有減法運算了。
因此,就可以簡化計算機的硬體。
只要配置乙個加法器,就可以走遍天下。
補碼的**和意義,就是這樣的。
補碼,與原碼反碼,並無半點關係。
取反加一,也沒有任何的理論基礎,都是瞎編的。
2樓:賽藍寇光臨
用代符號的八位二進位表示資料,最高位為符號位,1代表負數,0代表正書。其餘的七位二進位數來代表實際數值,即是原碼。
所以[+50d]原=00110010b,[-50d]原=10110010b。
正數的補碼與原碼相同,負數的補碼,變換規則為:
在原碼的基礎上陸滲,符號位不變,其餘七位各位取反,然後在最拆爛後一位加1,該向前進位的就進。
所以[-50d]補=11001111。
d表示十進位數,b表示二進位數。
用原碼只能表示-127到127,永補碼錶示為-128到127。
對於你的補充問題早御脊,我也不太清楚。大概是看著方便吧。
計算乙個負數的補碼時,最後一步要加1?拜託了各位 謝謝
3樓:修洋章春曉
不會你可以推一推。
如果存在,那麼在加1之前求得的反碼為全1
那麼原碼就是反碼去反,為全0
原碼全0就是0,而0的補碼並不是去反加1,與實際相矛盾,所以是不存在這種情況的。
4樓:做而論道
取反加一,只是乙個方法,並不是補碼的定義。
補碼的**,並不是什麼原碼反碼符號位以及取反加一。
補碼,其實,是乙個「代替負數運算的」的正數。
藉助於補碼,減法,就可以用加法代替。
利用補碼,統一了加減法,目的是簡化計算機的硬體。
為什麼正數(補碼)能夠代替負數呢?
用十進位來說明,比較容易理解。
如果限定【僅用 2 位 10 進位數】,可以有:
24 + 99 = (一百) 23
保留 2 位數,就必須捨棄進位。
此時,+99 就和-1 是等效的。
99,就稱為-1 的補數。
98,是-2 的補數。
如果,使用 3 位 10 進位數,-1 的補數,就是+999 了。
求補數的公式:
補數 = 負數 + 10^n, n 是位數。
計算機使用 2 進位,補數,就改稱為:補碼。
8 位 2 進位的範圍:0000 0000~1111 1111 (十進位 255)。
共有 2^8 = 256 組。
此時,-1 的補碼,就是 255 (1111 1111)。
同理,-2 的補碼是 254 (1111 1110)。
求補碼的公式:
補碼 = 負數 + 2^n, n 是位數。
只有負數,才需要用補碼替換。
正數,不存在變換成補碼的問題。
在 256 組二進位中,用 128 組來代替負數:-1~-128。
1 的補碼是:-1 + 2^8 = 255 = 1111 1111。
128 的補碼是:-128 + 2^8 = 128 = 1000 0000。
以上,就是【補碼的**,以及意義】。
由求補碼的公式:補碼 = 負數 + 2^n。
就可以推出「絕對值取反加一」的簡便方法。
注意:這個簡便方法中,只用了「絕對值」,並沒有用「原碼反碼符號位」。
原碼反碼符號位,是怎麼來的? 不知道。
這些,都沒有理論基礎,屬於無稽之談。
而且,-128 還沒有原碼和反碼,你怎麼「用原碼取反加一」求補碼!
負數怎麼算,用補碼嗎?
5樓:link專注休閒娛樂
可以通過補碼運算,通過最野滲高位和次高位的進位相異或可以判斷計算結果是否溢位。
計算機中的有符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。
在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數頌悄脊值域統一處理;同時,加法和減法也可以統一處理。
正整數的補碼是其二進位表示,與原碼相同。
例:+9的補碼是00001001。(備註:
這個+9的補碼是用8位2進位來表示的,補碼錶示方式很多,還有16位二進位補碼錶示形式,以及32位二進位補碼錶示形式,64位進位補碼錶示形式等。每一種補碼錶示形式都只能表示有運纖限的數字。)
負數解釋:求負整數的補碼,將其原碼除符號位外的所有位取反(0變1,1變0,符號位為1不變)後加1。
同乙個數字在不同的補碼錶示形式中是不同的。比如-15的補碼,在8位二進位中是11110001,然而在16位二進位補碼錶示中,就是1111111111110001。以下都使用8位2進位來表示。
6樓:做而論道
補碼,實際上,就是乙個「代替負數」的正數。
使用了補碼之後,計算機中,就沒有負數了。
同時,也就沒有減法運算了。
只要配置乙個加法器,計算機,就能橫行天下了。
這就是補碼的作用。
補碼(乙個正數),怎麼就能代替負數呢?
想一想週期性的規律吧。
比如,2 位 10 進位數(0~99),計數週期就是 10^2=100。
可有: 25 - 1 = 24
25 + 99 = 一百) 24
你捨棄進位的 1,只保留 2 位數,+99 就能代替-1!
而且,加法,也能代替減法迅鍵運算!
同樣,+98 也可以代替-2。
這些正數,就稱為「負數的補數」。
求補數的公式,顯然就是:
補數=負數+10^n
式中:n 是補數的位數。
10^n,是 n 位 10 進位數的週期。
這公式,在三角函式中,也有雷同的表現。
三角函式,是以 2π 為週期的。
任何負角度,加上週期,就可以轉換為正角度。
如:x =-2,與其等效的正角度,即為:
x =-2 + 2π =3π/2
計算機用二進位,補數,就稱為:補碼。
求負數的補碼,公式是:
補碼 = 負數 + 2^n
2^n,是 n 位 2 進位數的計數週期。
對於 8 位 2 進位數,週期就是 2^8 = 256。
那麼,-1 的補碼就是 255 = 1111 1111 (二進位)。
2 的補碼就是 254 = 1111 1110 (二進位)。
128 的補碼就是 128 = 1000 0000 (二進位)。
正數,不用轉換,也不許做任何轉換,必須直接去參加算。
所以,零和正數,並沒有補碼。
求補碼掘首,不需要「符號位原碼反碼取反加一符號位不變」。
那一大堆步驟,並沒有什麼數學理論依據。
數學不好的老外,弄不懂週期,才用那些騷操作。
而且,在計算機中,根本就不用原碼和反碼!
忽悠大家學了這些,一丁點用處判昌數,也都沒有的。
怎樣求負數補碼?
7樓:做而論道
求負數的補碼,通常都是說:先求原碼、再取反加一。
但是,原碼,是有缺陷的。
因為,天下只有乙個零。而在原碼中,卻編造了兩個碼:+0、-0。
所以,八位原碼的表示範圍,只能是:-127~+127。
而在八位的補碼中,只有一森肆個零,所以就多出乙個:-128。
用「取反加一」的方法,求-0 和-128 的補碼,這就尷尬了!
求-0 的補碼,得出的是
符號位竟然是 0 !難道,-0,是正數嗎?
求-128 的補碼,更是無處下嘴。
其實,取反加一,並沒有什麼道理。也可以說,這是錯誤的。
補碼,其實,是乙個「代替負數」的正數。
使用了補碼之後,在計算機中,就沒有負數了。
同樣,在計算機中,也就沒有減法運算了。
利用補碼,就是把加減法,統一為加法運算。
使用補碼的目的,就是簡化計算機的硬體。
補碼(乙個正數),怎麼就能代替負數呢?
你看時針,倒撥 3 小時,可以用正撥 9 小時代替。
你看三角函式,-π2、+3π/2,兩者函式值也是相等的。
如果限定,只用 2 位 10 進位數,那麼有:
25 + 99 = 一百) 24
如果忽略進位一百(10^2),+99 就和-1 等效。
上面這些正數,就是負數的補數。
求補數的計算公式: 補數(即正數) =負數 + 週期。
而正數,不可變換,必須直接參加運算。
所以,正數,就沒有補數。
計算機用二進位,就稱為補碼了。
8 位 2 進位,週期是:2^8 = 256。
1 的補碼,就是:-1 + 256 = 255 = 1111 1111(二進位)。
2 的補碼,是此棚轎:254 = 1111 1110。
-128 的補碼是:128 = 1000 0000。
此時,樓主的和敏問題,就解決了。
補碼的定義式:
x >=0, [x ]補 = x; 正數不用變換。
x < 0, [x ]補 = x + 2^n。 n 是補碼的位數。
按此公式求補碼,是極為簡便的,而且還能理解補碼的意義。
那麼,就不要學「原碼反碼取反加一符號位不變」了。
老外數學不好,也只能擺弄哪些「隔,路」的花樣。
負數補碼怎麼求?
8樓:做而論道
在計算機系統中,數值,一律用補碼來表示和儲存。
只要會求補碼,就夠用了。
計算機,所計算的位數,是固定的。
八位機就是八位,16 位機返臘就是 16。。。
位數,限定了之後,即使出現了進位,也不再考慮。
在這個前提下,加法、減法,就可以互換。
比如,兩位十進位是 00~99。
週期是 100(即一百)。
減一,就和 +99,作用相同。
25 + 99 = 一百) 24
捨棄進位,加法,就能起「減答虧法」的作用。
99,就是-1 的補數。
藉助於補數,加減法,就可以統一為加法。
藉助於補碼,就可以簡化計算機的硬體。
八位的二進位是:0000 0000~1111 1111(十進位255)。
週期是 2^8 = 256。
1 的補碼就漏舉滑是:256-1 = 255(二進位 1111 1111)。
2 的補碼就是:256-2 = 254(二進位 1111 1110)。
公式:負數的補碼 = 週期 + 該負數。
零和正數,不存在補碼,直接就可以參加計算。
補碼,就是這麼計算出來的。
補碼,和原碼反碼,毫無關係。
計算機中,也並沒有原碼反碼,因此,就不必討論它們。
正數和負數的含義是什麼正數負數的定義是什麼?
正數和負數是以零為分界點的。大於零的數是正數 小於零的數是負數 一個是大於零的,劃一條數軸,右邊是正數,左邊是負數,中間是0,也就是分界線 大於零正數 小於零負數 大於0的數.若一個數大於零 0 則稱它是一個正數 正數的前面可以加上正號 來表示,但在前面沒有數時正號通常省略不寫 比零小 0 的數 用...
為什麼正數的補碼是它本身
補碼,其實,這就是乙個 代替負數 的正數。使用了補碼 正數 之後,在計算機中,就沒有負數了。同時,在計算機中,也就沒有減法運算了。所以,利用補碼,就能夠把加減法,統一為加法運算。使用補碼的目的,就是 簡化計算機的硬體。補碼 乙個正數 怎麼就能代替負數呢?你看時針,倒撥 小時,可以用正撥 小時代替吧?...
負數增長率和正數增長率怎麼計算如果去年利潤為負數,今年利潤為正數,怎樣算增長率,請會計專業舉例回答
以一個基期做基數,比如說,2015年收入是100萬,2016年年收入是120萬,那收入增長率是 120 100 100 100 20 這是正數增 長率。假如2015年收入120萬,2016年收入是100萬,增長率是 100 120 120 100 16.67 這是負增長率。擴充套件資料 由於對比的基...