1樓:做而論道
底層知識!計算機,是電子裝置。裡邊,只有電壓電流的變化。
計算機中,根本就沒有數字。
計算機中,只有高電平、低電平,用來代表各種資訊。
把高、低電平,簡稱為。
,這只是**而已,也寫成 h(igh)、l(ow)。,雖然有二進位數的形態,但是,並不是數值,只能說是「數碼訊號」。
它們可以代表:數值、字元、聲音、影象、..以及控制訊號。
用它代表數值時,有兩種基本的:
自然數:有、.又稱為:無符號數。
整數:包括正數、零、負數。又稱為:帶符號數。
兩者的區別,就在於首位的正負,是怎麼確定的。
八位二進位碼,稱為乙個位元組。
那麼,這組**:,代表了什麼數呢?
首位如果是負數,它就是
其它位,都是正數。
各位求和,這就是【帶符號數】=-125。
如果首位是正數,這就是
各位求和,這就是【無符號數】=131。
首位如果是零,肯定就沒有負數的事了。
是不是帶符號數,也就無所謂了。
以上,就是「**與數值」的「枯含公升底層知識」。
你也可以理沒老解為「補碼與帶符號數」的關係。
原碼和反碼,在計算機中,都不老敗存在,所以,就不用討論了。
十進位的原碼、補碼
2樓:惠企百科
十進位-67的原碼是01000011、反碼是10111100和補碼是10111101。
轉換規則:1、負整數的原碼為二進位前面加符號位;
67=1000011(二進位)=11000011(原碼)2、負整數的反碼=原碼各位取反(除了符號位外);
11000011(原碼)=10111100(反碼)3、負整數的補碼=負整數的反碼+00000001;
10111100(反碼)=10111101(補碼)<>
3樓:做而論道
在計算機系統中,數值,一律採用補碼錶示和儲存。
原碼和反碼,都是不存在的。
補碼,是乙個「代替負數」的正數。
使用了補碼,計算機中就沒有負數了,同時,也就沒有減法運算了。
因此,使用補碼,就能簡化運算,從而就簡化了硬體。
補碼(正數),怎麼就能代替負數呢?
用十進位來說明,其原理就十分簡單。
用 2 位 10 進位數,可有下列的算式:
25 + 99 = 一百) 24
如果你只取 2 位數,捨棄超出的進位,+99 就能代替-1 !
加法,也就代替了減法。
同樣,+98 也能代替-2。
這些代替負數的正數,就稱為:「負數的補數」。
計算公式:【 補數 = 負數 + 10^2 】。
其中:10^2 = 100,是 2 位 10 進位數的計數週期。
計算機用二進位,補數,就稱為「補碼」了。
8 位 2 進位數,計數週期就是:2^8 = 256。
1 的補碼 =-1 + 256 = 255 = 1111 1111 (二進位)。
2 的補碼就是:254 = 1111 1110 (二進位)。
老外數學不好,弄不懂原理,也不願意計算,才編造了「原碼反碼取反加一 ..
其實,原碼反碼,在計算機中,並不使用,也根本就不存在。
計算機老師,卻很愛「津津樂道」這些沒用的「知識」!
看來,用小學知識來算乙個數,對他們,是很難的。
十進位的原碼、補碼
4樓:帳號已登出
十進位-67的原碼是01000011、反碼是10111100和補碼是10111101。
轉換規則:1、負整數的原碼為二進位前面加符號位;
67=1000011(二進位)=11000011(原碼)2、負整數的反碼=原碼各位取反(除了符號位外);
11000011(原碼)=10111100(反碼)3、負整數的補碼=負整數的反碼+00000001;
10111100(反碼)=10111101(補碼)
5樓:小陽同學
67轉成2進位就是1000011,如果是8位二進位,最高位是符號位,負數最高位是1,原碼就是11000011,負數反碼是原碼除了最高位外按位取反,反碼就是:10111100,補碼是反碼加1,就是10111101。
計算機中的有符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。在計算機系統中,數值一律用補碼來表示和儲存。
原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。
6樓:網友
89,正數,二進位原始碼,反碼,補碼是相同的。
89,負數,原始碼,反碼,補碼。
二進位的原碼、補碼、反碼詳解
7樓:象拔蚌燒賣
計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。
使用補碼的意義:可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。
比如鐘錶,時針轉一圈,週期是 12 小時。
倒撥 3 小時,可以用正撥 9 小時代替。
9,就稱為-3 的補數。
計算方法:12-3 = 9。
對於分針,倒撥 x 分,就可以用正撥 60-x 代替。
如果,限定了兩位十進位數 (0~99),週期就是 100。
那麼,減一,就可以用 +99 代替。
忽略進位,只取兩位數,這兩種演算法,結果就是相同的。
於是,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 的補碼。
捨棄進位,只保留八位,作為結果即可。
這就是:使用補碼,加法就代替了減法。
所以,在計算機中,有乙個加法器,就夠用了。
原碼和反碼,都沒有這種功能。
原碼和反碼,毫無用處。計算機中,根本就沒有它們。
8樓:黑科技
在計算機中所有的資料都是以二進位儲存的。
中機器數中,使用最高位來表示數字的**:1為負,0為正;
乙個字長為8為。
單看1000 0011這個數,不知道是機器數還是二進位數,所以引出了機器數的真值概念。
機器數的真值就是機器數所對應的真值的數值;
如:1000 0011 = 3;
符號位:首先確定乙個數的正負,如果是正數,首位使用0表示,如果是負數,首位用1表示。
有效位:真值的絕對值轉化為二進位形式。
符號為和有效位拼接到一起。
正數:正數的反碼和原碼相同。 +3 :0000 0011【原碼】 0000 0011【反碼】
負數:符號位不變,其餘各位直接取反,二進位只有兩種狀態:1->0;0->1; -3:
1000 0011【原碼】 1111 1100【反碼】
正數:正數的原碼反碼補碼全部相同 +3: 0000 0011【原碼】 0000 0011【反碼】 0000 0011【補碼】
負數:求得原碼,再求反碼,中最後一位+1,這就是負數的補碼 -3:1000 0011【原碼】 1111 1100【反碼】 1111 1101【補碼】
反碼:中沒有計算機的時候只設計了加法器,沒有減法器,使用加法計算來表示減法,補碼:反碼解決了沒有減法的問題,但是會出現絕對值相同的正負兩個數相加會出現-0情況,那麼在計算機中不能出現0的表現不唯一情況,所以採用補碼進行修正。
注】1、採用補碼計算; 2、正數補碼、反碼、原碼相同; 3、負數首位符號位為1;
例:正數相加
例:減法(可以看做負數相加)
56為正數,補碼和原始碼一樣,求出-33的補碼,然後將兩個數的補碼相加得出結果。
正數:補碼=反碼=原碼。
負數:補碼的補碼(首位不變,其餘取反,再加1)
正數:不變(原碼 = 反碼= 補碼)
負數:首位不變,其餘取反。
9樓:做而論道
原碼和反碼,在計算機中,都不存在。
詳解它們,都沒有任何意義。
在計算機系統中,只用補碼,表示數值。
你只需掌握「數值與補碼」的換算,即可。
補碼,其實是乙個「代替負數」的正數。
利用補碼代替了負數之後,計算機中,就沒有負數了。
同時,也就沒有了減法運算。
因此,計算機,只需具有乙個加法器,就可以走遍天下了。
正數(即補碼),怎麼就能代替負數呢?
其中的道理,十分簡單。就是三歲小孩,都會懂的。
你三歲時,只會數一百個數(0~99)。
到了 100,就重新開始數,10^2,就是你的計數週期。
這時,你就可以用加法,來做減法:
25 + 99 = 一百) 24
進位,你一定會忽略! 那麼在此時:
+99 就可以當做-1 使用。
98,也就能當-2 了。
這些正數,就是「負數的補數」。
怎麼求:補數 = 負數 + 週期(10^n),n 是位數。
計算機用二進位,此時,就叫做「補碼」了。
8 位 2 進位數的計數週期是:2^8 = 256。
那麼,-1 的補碼就是:-1 + 256
255 = 1111 1111(二進位)。
2 的補碼是:254 = 1111 1110。
補碼是「代替負數」的正數。
而正數,不需要代替,必須直接參加運算。
也就是說,正數,不存在補碼。
這就是補碼的詳解。
補碼,和原碼反反碼,都沒有任何關係。
取反加一符號位不變。。。都沒有任何依據,就不要相信了。
用二進位制補碼計算下列各式 ,用二進位制補碼計算下列各式
則 12的原碼為101100,反碼為110011,補碼為110100。5的原碼為100101,反碼為111010,補碼為111011。正數的補碼錶示 正數的補碼 原碼 負數的補碼 or 以十進位制整數 97和 97為例 97原碼 0110 0001b 97補碼 0110 0001b 97原碼 111...
二進位制數11010100的原碼,反碼,補碼和移碼是什麼
正數的原 反 補碼都一樣 0的原碼跟反碼都有兩個,因為這裡0被分為 0和 0。二進位制數11010100 是負數 2 6 2 4 2 2 x 原 11010100 符號位不變,原碼的其他位按位取反 x 反 10101011 補碼在反碼的基礎上按照正常的加法運算加1 x 補 10101100 移碼不論...
32768的補碼是多少, 32768的二進位制補碼是多少?
取值範圍是16位嘛 多的進位就應該去掉 你應該考慮的是16位的有符號整數 int 吧 在計算機中是用補碼儲存資料 為什麼不用原碼存 就是因為原碼錶示不了最小值 32768 如果是原碼錶示的話,編碼中 0是用16個0表示,0是用1後跟15個0表示 但是由於 0等於 0所以相當於多花了一個編碼來編碼0 ...