進位轉換的方法是:二進制數,十六進制數可以採用按權展開法轉換為十進制數,十進制轉換為R進制要分為兩部分,其中整數部分要除R取餘,直到商數為0,小數部分要乘R取餘直到得到整數。
進位也就是進位位,對於接觸過電腦的人來說應該都不陌生,我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間差別在於數運算時是逢幾進一位。例如二進位是逢2進一位,十進位也就是我們常用的0-9是逢10進一位。接下來將在文章中為大家詳細介紹,希望對大家有幫助。
一:簡述:
#進位計數制:是人們利用符號來計數的方法。一種進位計數制包含一組數位符號和兩個基本因素。
(1)數位:用不同的數字符號來表示一種數制的數值,這些數字符號稱為「數位」。
(2)基底:數制所使用的數位個數稱為」基底」。
(3)權:某數制每一位所具有的值稱為」權」。
二:進位轉換的理論
1、二進位數、十六進位數轉換為十進位數:用按權展開法
把一個任意R進制數an an-1 ...a1a0 . a-1 a-2...a-m
轉換成十進制數,其十進制數值為每一位數字與其位權之積的和。
an×R n an-1×R n-1 … a1×R 1 a0×R 0 a-1 ×R-1 a-2×R-2 … a-m×R-m
#2: 十進制轉換成R進制
十進制數輪換成R進制數要分兩個部分:
整數部分:除R取餘數,直到商為0,得到的餘數即為二進數各位的數碼,餘數由右到左排列(反序排列)。
小數部分:乘R取整數,得到的整數即為二進數各位的數碼,整數由左至右排列(順序排列)。
3:十六進位轉換成二進位
每一位十六進位數對應二進位的四位,逐位展開。
4: 二進位轉換成十六進位
將二進位數從小數點開始分別向左(對二進位整數)或向右(對二進位小數)每四位組成一組,不足四位補零。
三:具體實作
1:二進位轉換成十進位
任何一個二進位數的值都會用它的按位權展開式表示。
例如:將二進位數(10101.11)2轉換成十進位數。
(10101.11)2=1*24+0*23+1*22+0*21+1*20+1*2-1 1*2-2
#2:十進位整理轉換成二進位
將十進位整數轉換成二進位整數採用「除2取倒數餘法」。 即將十進制整數除以2,得到一個商和一個餘數;再將商數除以2,再得到一個商和一個餘數;以此類推,直到商等於零為止。 每次得到的餘數的倒排列,就是對應二進制數的各位數。 於是,結果是餘數的倒排列,即為:(37)10=(a5a4a3a2a1a0)2=(100101)23:十進位小數轉換成二進位小數
十進位小數轉換成二進位小數是用「乘2取整法」。即用2逐次去乘十進制小數,將每次得到的積的整數部分按各自出現的先後順序依次排列,就得到相對應的二進制小數。 將十進位小數0.375轉換成二進位小數,其過程如下:最後結果:(0.375)10=(0.a1a2a3)2=(0.011)2
4:十六進位轉為二進位
由於24=16,所以每一位十六進位數要用四位二進位數來表示,也就是將每一位十六進位數表示成四位二進位數。 範例:將十六進位數(B6E.9)16轉換成二進位數為:B 6 E . 91011 0110 1110 . 1001#1011 0110 1110 .1001
即(B6E.9)16=(101101101110.1001)2
5:二進位數轉換為十六進位
將二進位數轉換成十六進制數是將二進制數的整數部分從右向左每四位一組,每一組為一位十六進制整數,不足四位時,在前面補0;
而二進制小數轉換成十六進制小數是將二進制小數部分從左向右每四位一組,每一組為一位十六進制小數。
最後一組不足四位時,後面要用0補足四位。
範例:二進位數(1010101011.0110)2,轉換成十六進位數為:
0010 1010 1011 . 0110
2 A 〠1.
即:(10 1010 1011.0110)2=(2AB.6)16
十進位小數轉換二進位:
#用的通俗易懂的說法:用這個小數不斷乘2,直到這個小數變為整數後,然後這個整數就轉為二進制了,接著,剛才乘了幾次2,你就把這個二進制的小數點像坐移幾位即可
例:0.75
0.75X2=1.5
1.5X2=3
##得到整數3,現在把3轉為二進制,如下:3(10)=》11(2)#得到二進制數:11 因為剛才乘了2次“2”,所以小數像左易懂2位,最終結果:0.11有些小數乘2是永得不到整數的,那就看他要求的精度,假如要求保留3位小數,則乘3次“ 2”即可,後面的小數可以無視,直接拿直面的整數部分轉為二進制,再向左移3位.如此類推....以上是進位轉換方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!