進製的轉換

2021-09-08 15:00:35 字數 1431 閱讀 3237

package

conversationofnumbersystems;

public

class

test1

}8421碼將2進製轉換成為10進製:

8421碼的原理是將一些常用的二進位制的位值代表的十進位制列出來,查詢替換進行十進位制和二進位制的轉換。

1  1  1  1  1  1  1  1

128 64 32 16 8 4 2  0

二進位制轉10進製:

0b10010=2+16=18

十進位制轉2進製:

18=16+2=0b10010

178=128+32+16+2=0b10110010

浮點型的進製轉換:

浮點型的儲存結構和整形的不一樣

浮點型的儲存範圍大於long型。

不是太明白,不想深究了。

float型別數字在計算機中用4個位元組儲存。遵循ieee-754格式標準:

乙個浮點數有2部分組成:底數m和指數e

底數部分 使用二進位制數來表示此浮點數的實際值

指數部分 占用8bit的二進位制數,可表示數值範圍為0-255

但是指數可正可負,所以,ieee規定,此處算出的次方必須減去127才是真正的指數。

所以,float型別的指數可從-126到128

底數部分實際是占用24bit的乙個值,但是最高位始終為1,所以,最高位省去不儲存,在儲存中佔23bit

科學計數法。

格式:seee eeee emmm mmmm mmmm mmmm mmmm mmmm

s表示浮點數正負    

e指數加上127後的值得二進位制資料

m底數舉例:

17.625在記憶體中的儲存

首先要把17.625換算成二進位制:10001.101

整數部分,除以2,直到商為0,餘數反轉。

整數部分:17=10001

小數部分,乘以2,直到乘位0,進製順序取。

小數部分:

0.625*2=1 .25

0.25*2=0 .5

0.5*2=1  .0

0*2=0  .0

......

得到:1010...

在將10001.101右移,直到小數點前只剩1位:

1.0001101 * 2^4 因為右移動了四位

這個時候,我們的底數和指數就出來了

底數:因為小數點前必為1,所以ieee規定只記錄小數點後的就好。所以,此處的底數為:0001101

指數:實際為4,必須加上127(轉出的時候,減去127),所以為131。也就是10000011

符號部分是整數,所以是0

綜上所述,17.625在記憶體中的儲存格式是:

01000001 10001101 00000000 00000000    

換算回去:自己做。

進製轉換(任意進製轉換)

a進製轉b進製 思想 a進製轉十進位制 十進位制轉b進製 a進製轉十進位制 include include includeusing namespace std const int p 16 p代表 a進製 int main cout 十進位制轉b進製 include includeusing na...

進製進製進製 轉換

從剛學計算機就對進製轉換有著莫名的反感,2進製 8進製 10進製 16進製制各種轉換。下面就說下邏輯位址轉換成實體地址的求法吧 首先,使用者輸入乙個16進製制的數字cin hex logic add hex的意思是告訴計算機輸入的數是以16進製制方式輸入的 這個時候你要是輸出cout cout 經過...

進製和進製的轉換

今天給大家分享進製和進製轉換的知識點 一 進製的概念 進製也稱數值或計數制,是指用一組固定的符號和統一的規則來表示數值的方法。可以用有效的數字符號代表所有的數值。可使用數字符號的數目稱為基數。常見的進製 十進位制 二進位制 十六進製制 八進位制等 說明 通過十進位制找到進製的規律。1.十進位制 係數...