小數的補碼,原碼,反碼怎麼相互轉換?(二進位)

2025-02-18 22:05:14 字數 3675 閱讀 7730

1樓:嶽愷歌象強

化為2進位是整數部分除以二知道變為1

小數部分乘以2直到變為1

符號位0表示正1表示負。

正數:原碼=補碼。

負數:原碼。

正數部分(去掉負號)的二進位值,且符號位(最左邊的位元位)為1

反碼。正數部分(去掉負號)的二進位值,按位取反。

補碼。反碼。

小數點依舊用點。

定點數。所謂定點數是指小數點位置固定不變的數。在計算機中,通常用定點數來表示整數與純小數,分別稱為定點整數與定點小數。

定點整數:乙個數的最高二進位位是數符位,用以表示數的符號;而小數點的位置預設為在最低(即最右邊)的二進位位的後面,但小數點不單獨佔乙個二進位位,如下所示:

數符位。數值位。

小數位。因此,在乙個定點整數中,數符位右邊的所有二進位位數表示的是乙個整數值。

定點小數:乙個數的最高二進位位是數符位,用來表示數的符號;而小數點的位置預設為在數符位後面,不單獨佔乙個二進位位,如圖所示:

數符位|小數位。

數值位。因此,在乙個定點小數中,數符位右邊的所有二進位位數表示的是乙個純小數。

2.浮點數。

在計算機中,定點數通常只用於表示整數或純小數。而對於既有整數部分又有小數部分的數,由於其小數點的位置不固定,一般用浮點數表示。

在計算機中所說的浮點數就是指小數點位置不固定的數。一般地,乙個既有整數部分又有小數部分的十進位數d可以表示成如下形式:

d=r*10n

其中r為乙個純小數,n為乙個整數。

如乙個十進位數可以表示成:,十進位小數可以表示成。純小數r的小數點後第一位一般為非零數字。

同樣,對於既有整數部分又有小數部分的二進位數口也可以表示成如下形式:

d=r*2n

其中r為乙個二進位定點小數,稱為d的尾數;n為乙個二進位定點整數,稱為d的階碼,它反映了二進位數d的小數點的實際位置。為了使有限的二進位位數能表示出最多的數字位數,定點小數r的小數點後的第一位(即符號位的後面一位)一般為非零數字(即為「1」)。

數符。r階碼部分。小數位。

尾數部分。

2樓:做而論道

乙個二進位的小數,比如:-。

你把小數點,右移四位,成為整數:-1011。

這個整數,變成原碼反碼補碼,你就自己變吧。

之後,再把小數點,左移四位,即可。

3樓:沙裡波特

都是常識。先去看看書。

那一步不懂,你指出來吧。

二進位數反碼和補碼的演算法

4樓:做而論道

在計算機系統中,數值,一律採用補碼錶示和儲存。

在計算機中,原碼反碼,都是不存在的。

因此,原碼反碼,根本就沒有任何用處,不必討論。

補碼,實際上,它就是乙個「代替負數」的正數。

使用了補碼(正數)之後,在計算機中,就沒有負數了。

同時,也就沒有了減法運算。

因此,不但能簡化演算法,而且順便就能簡化計算機的硬體。

正數,怎麼能代替負數呢?

你看看兩位十進位數(0~99)吧:

25 + 99 = 一百) 24

只要你捨棄進位,只保留兩位,+99 就能代替-1。

+99,這就是-1 的補數。

對應關係:補數=負數+計數週期(10^2 = 100)。

計算機中,使用二進位,補數,也就改稱為:補碼。

8 位 2 進位數,其計數週期,就是:2^8 = 256。

-1 的補碼,就是:-1 + 256 = 255 = 1111 1111 (二進位)。

對嗎? 分別用十進位、二進位,計算一下試試:

只要捨棄進位,這兩種演算法,結果,就是相同的。

同理,-2 補碼就是:254 = 1111 1110。

128 的補碼是:128 = 1000 0000。

零和正數,必須直接參加運算,不可變換。

零和正數,不需要變換,也就不存在「正數的補碼。

補碼的**和意義,就是這些。

你如果從「原碼反碼符號位」開始學補碼,肯定是「學不懂」的。

老外腦子不好用,週期、等效什麼的,當然也是搞不懂的。

因此,才編造了「原碼反碼。。。一大灘垃圾!

其實,那些都是無稽之談,隨口亂講的,並無任何理論依據。

而且,在八位的原碼反碼中,都沒有-128。

那麼,-128 的補碼,你們怎麼求呢?

5樓:道振梅理雲

計算機裡的二進位數有八位、十六位等,下面以八位為例。

19的二進位數為:0001

那麼+19原碼為。

反碼為。補碼為。

那麼-19原碼為。

左邊第一位表示正負數,正數為0,負數為1)反碼為。

補碼為。

6樓:敏印枝徭未

原碼:符號位:正數用0表示;負數用1表示。反碼:

除符號位外,其它位按位取反,即0變1,1變0補碼:

反碼的基本上加1

二進位-0.1000的原碼,補碼,反碼是多少?

7樓:新科技

設螞雀字長5位:鏈前。

x]原 =x]反悶喚早 =

x]補 =

1用八位二進位數寫出+86的原碼反碼及補碼?

8樓:

此是原碼。正數,補碼與原碼相同。

反碼,就是逐位0,1顛倒:

小數補碼和原碼的轉化

9樓:空前爵後

符號位不變,其餘各位取反,最後 +1。

不管是整數還是小數原碼到補碼,補碼到原碼都可以這麼算。符號位不變,其餘各位取反,最後+1,即在反碼的基礎上 +1。

原碼和補碼的根本區別:

原碼的意思是二進位表示的都是正數,原碼會有符號位表示正負,無數值意義。

補碼的意思是二進位表示的一半是正數,一半是負數。補碼 中最高位不再表示正數而是表示符號位的負數有數值意義,即負的2的位數減一次方。

原碼和補碼的絕對裂肆逗值之和為2的n次方,n為2進位數的位數。補肆賣碼和原碼的二進位表示相同,但數值不同。

原碼的缺陷:

使用原碼直接進行運算,對於加法是沒有問題的,原碼最大的問題是,無法將減法轉換雹或為加法。例如3-2,可以通過計算3+(-2)得到結果,原碼的計算結果是-5,明顯是錯誤的。

以上內容參考:補碼和原碼的區別以及計算方式-csdn論壇<>

有符號數,補碼,反碼,原碼,0的原碼,補碼,反碼是什麼

定點數分為有符號數 signed 和無符號數 unsigned 其中,有符號數的表示方法有三種 原碼 反碼和補碼。反碼錶示法規定 正數的反碼與其原碼相同 負數的反碼是對其原碼逐位取反,但符號位除外。所謂原碼就是二進位制定點表示法,即最高位為符號位,0 表示正,1 表示負,其餘位表示數值的大小。反碼錶示...

數的原碼,反碼,補碼怎麼算一個數的原碼,反碼,補碼怎麼算

數在計算機中是以二進位制形式表示的。數分為有符號數和無符號數。原碼 反碼 補碼都是有符號定點數的表示方法。一個有符號定點數的最高位為符號位,0是正,1是副。以下都以8位整數為例,原碼就是這個數本身的二進位制形式。例如0000001 就是 1 1000001 就是 1 正數的反碼和補碼都是和原碼相同。...

對於正數,其原碼 反碼 補碼是相同的嗎

相同的,正數的原碼 反碼 補碼。引進補碼的作用是為了讓計算機更方便做減法。例如 按時間12個小時來算,現在的準確時間是4點,有一個表顯示的是7點,如果要校準時間,我們可以將時針退7 4 3格,也可以向前撥12 3 9格,計算機做減法就可以轉化成 3 9,這樣可以簡化計算機的硬體裝置去做複雜的減法。然...