一、二進位制轉十進位制
方法一小數點前或者整數要從右到左用二進位制的每個數去乘以2的相應次方,小數點後則是從左往右
例如:二進位制數1101.01轉化成十進位制
1101.01(2)=120+021+122+123 +02-1+12-2=1+0+4+8+0+0.25=13.25(10)
所以總結起來通用公式為:
abcd.efg(2)=d20+c21+b22+a23+e2-1+f2-2+g*2-3(10)
方法二或者用下面這種方法:
把二進位制數首先寫成加權係數展開式,然後按十進位制加法規則求和。這種做法稱為"按權相加"法。
2的0次方是1(任何數的0次方都是1,0的0次方無意義)
2的1次方是2
2的2次方是4
2的3次方是8
2的4次方是16
2的5次方是32
2的6次方是64
2的7次方是128
2的8次方是256
2的9次方是512
2的10次方是1024
2的11次方是2048
2的12次方是4096
2的13次方是8192
2的14次方是16384
2的15次方是32768
2的16次方是65536
2的17次方是131072
2的18次方是262144
2的19次方是524288
2的20次方是1048576
此時,1101=8+4+0+1=13
二、十進位制轉二進位制
十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2整除十進位制整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為小於1時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。
三、十進位制轉十六進製制
對於整數部分,用被除數反覆除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。
對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。
給你乙個十進位制,比如:120,如何將它轉換成十六進製制數呢?
10進製數轉換成十六進製制數,這是乙個連續除以16的過程:把要轉換的數,除以16,得到商和餘數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。
比如要轉換120為十六進製制數:
「把要轉換的數,除以16,得到商和餘數」,那麼:要轉換的數是120, 120 ÷ 16,得到商是7,餘數是8。
「將商繼續除以16,直到商為0……」,現在商是7,還不是0,所以繼續除以16。
那就: 7 ÷ 16, 得到商是0,餘數是7。現在商已經是0。
我們兩次計算依次得到餘數分別是:8、7,將所有餘數倒序排列,那就是:78。
故120轉換成十六進製制,結果是78。
四、十六進製制轉十進位制
16進製制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十六進製制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……
所以,在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。
假設有乙個十六進數 2af5, 那麼如何換算成10進製?
用豎式計算:
2af5換算成10進製:
第0位:
第1位:
第2位:
第3位:
直接計算就是:
可以看出,所有進製換算成10進製,關鍵在於各自的權值不同
進製轉換(任意進製轉換)
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.十進位制 係數...