關於二進位、十進位、八進位、十六進位數據轉換計算方法詳細總結

2020-12-04 生活用電

下面在安靜的音樂中,讓我們開始學習吧

在我們接觸編程知識時,總會接觸有關進位轉換的知識,最常見的就是10進位與二進位或十六進位之間的轉換,很多時候我們總會遺忘,雖然現在也出現了很多可以直接使用的網絡在線的進位轉換工具,但考試中,我們就要靠自己通過公式進行運算了。今天就跟大家分享一下有關進位轉換的理論知識,大家可以通過對比從裡面發現共同點,這樣便於我們理解記憶。

在進行講解之前,我們先在下面放置一個對應表,因為在理解下面轉換的時候,你可以隨時查看該表。

一、 十進位與二進位之間的轉換

(1) 十進位轉換為二進位,分為整數部分和小數部分 ① 整數部分 方法:除2取餘法,即每次將整數部分除以2,餘數為該位權上的數,而商繼續除以2,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個餘數讀起,一直到最前面的一個餘數。下面舉例: 例:將十進位的168轉換為二進位 得出結果 將十進位的168轉換為二進位,(10101000)2 分析:第一步,將168除以2,商84,餘數為0。 第二步,將商84除以2,商42餘數為0。 第三步,將商42除以2,商21餘數為0。 第四步,將商21除以2,商10餘數為1。 第五步,將商10除以2,商5餘數為0。 第六步,將商5除以2,商2餘數為1。 第七步,將商2除以2,商1餘數為0。 第八步,將商1除以2,商0餘數為1。 第九步,讀數,因為最後一位是經過多次除以2才得到的,因此它是最高位,讀數字從最後的餘數向前讀,即10101000 ② 小數部分 方法:乘2取整法,即將小數部分乘以2,然後取整數部分,剩下的小數部分繼續乘以2,然後取整數部分,剩下的小數部分又乘以2,一直取到小數部分 為零為止。如果永遠不能為零,就同十進位數的四捨五入一樣,按照要求保留多少位小數時,就根據後面一位是0還是1,取捨,如果是零,舍掉,如果是1,向入一位。換句話說就是0舍1入。讀數要從前面的整數讀到後面的整數,下面舉例: 例1:將0.125換算為二進位 得出結果:將0.125換算為二進位(0.001)2 分析:第一步,將0.125乘以2,得0.25,則整數部分為0,小數部分為0.25; 第二步, 將小數部分0.25乘以2,得0.5,則整數部分為0,小數部分為0.5; 第三步, 將小數部分0.5乘以2,得1.0,則整數部分為1,小數部分為0.0; 第四步,讀數,從第一位讀起,讀到最後一位,即為0.001。 例2,將0.45轉換為二進位(保留到小數點第四位) 大家從上面步驟可以看出,當第五次做乘法時候,得到的結果是0.4,那麼小數部分繼續乘以2,得0.8,0.8又乘以2的,到1.6這樣一直乘下去,最後不可能得到小數部分為零,因此,這個時候只好學習十進位的方法進行四捨五入了,但是二進位只有0和1兩個,於是就出現0舍1入。這個也是計算機在轉換中會產生誤差,但是由於保留位數很多,精度很高,所以可以忽略不計。 那麼,我們可以得出結果將0.45轉換為二進位約等於0.0111 上面介紹的方法是十進位轉換為為二進位的方法,需要大家注意的是: 1) 十進位轉換為二進位,需要分成整數和小數兩個部分分別轉換 2) 當轉換整數時,用的除2取餘法,而轉換小數時候,用的是乘2取整法 3) 注意他們的讀數方向 因此,我們從上面的方法,我們可以得出十進位數168.125轉換為二進位為10101000.001,或者十進位數轉換為二進位數約等於10101000.0111。 (2) 二進位轉換為十進位 不分整數和小數部分 方法:按權相加法,即將二進位每位上的數乘以權,然後相加之和即是十進位數。例 將二進位數101.101轉換為十進位數。 計算過程:

(1*2+0*2+1*2).(1*2+0*2+1*2)=5.625

得出結果:(101.101)2=(5.625)10 大家在做二進位轉換成十進位需要注意的是 1) 要知道二進位每位的權值 2) 要能求出每位的值

從最後一位開始算,依次列為第0、1、2...位 (注意是從第0位開始數的,而不是1)

第n位的數(0或1)乘以2的n次方

得到的結果相加就是答案

二、八進位與十進位的轉換 (1)十進位轉換為八進位 十進位轉換成八進位有兩種方法: 1)間接法:先將十進位轉換成二進位,然後將二進位又轉換成八進位 2)直接法:前面我們講過,八進位是由二進位衍生而來的,因此我們可以採用與十進位轉換為二進位相類似的方法,還是整數部分的轉換和小數部分的轉換,下面來具體講解一下: ①整數部分 方法:除8取餘法,即每次將整數部分除以8,餘數為該位權上的數,而商繼續除以8,餘數又為上一個位權上的數,這個步驟一直持續下去,直到商為0為止,最後讀數時候,從最後一個餘數起,一直到最前面的一個餘數。 ②小數部分 方法:乘8取整法,即將小數部分乘以8,然後取整數部分,剩下的小數部分繼續乘以8,然後取整數部分,剩下的小數部分又乘以8,一直取到小數部分為零為止。如果永遠不能為零,就同十進位數的四捨五入一樣,暫取個名字叫3舍4入。 例:將十進位數796.703125轉換為八進位數 解:先將這個數字分為整數部分796和小數部分0.703125

整數部分 796除8商99餘數4,取4

99除8商12餘數3,取3

12除8商1餘數4,取4

1除8除不開,取1

從下往上讀,整數部分為:1434

小數部分 0.703125*8=5.625 取5

0.625*8=5 取5

小數部分從上往下讀,為:55

因此,得到結果十進位796.703125轉換八進位為1434.55 上面的方法大家可以驗證一下,你可以先將十進位轉換,然後在轉換為八進位,這樣看得到的結果是否一樣 (2)八進位轉換為十進位 方法:按權相加法,即將八進位每位上的數乘以位權,然後相加之和即是十進位數。 例:①將八進位數67.35轉換為十進位

三、十六進位與十進位的轉換 十六進位與八進位有很多相似之處,大家可以參照上面八進位與十進位的轉換自己試試這兩個進位之間的轉換。 即把上面對應的8變為16進行運算。

四、 二進位與八進位之間的轉換

首先,我們需要了解一個數學關係,即2=8,2=16,而八進位和十六進位是用這關係衍生而來的,即用三位二進位表示一位八進位,用四位二進位表示一位十六進位數。 接著,記住4個數字8、4、2、1(2=8、2=4、2=2、2=1)。現在我們來練習二進位與八進位之間的轉換。 (1) 二進位轉換為八進位 方法:取三合一法,即從二進位的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位按權相加(如果熟練了最上面我們分享的表格,我們就可以直接讀出對應的數字),得到的數就是一位八位二進位數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位數。如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。例 ①將二進位數101110.101轉換為八進位 從小數點向左每隔三位讀取

二進位110對應6

二進位101對應5

所以整數部分是:56

從小數點向右每隔三位讀取

二進位101對應5

小數部分為:0.5得到結果:將101110.101轉換為八進位為56.5 ② 將二進位數1101.1轉換為八進位 這個就簡寫了,看看你能看懂了嗎?

101對應5

001對應1

100對應4得到結果:將1101.1轉換為八進位為15.4

③再來一個例子(11001.101)(二)

整數部分: 從後往前每三位一組,缺位處有0填補,然後按十進位方法進行轉化, 則有:

001=1

011=3

然後我們將結果按從下往上的順序書寫就是:31,那麼這個31就是二進位11001的八進位形式

小數部分: 從前往後每三位一組,缺位處有0填補,然後按十進位方法進行轉化, 則有:

101=5

然後我們將結果部分按從上往下的順序書寫就是:5,那麼這個5就是二進位0.625的八進位形式

所以:(11001.101)(二)=(31.5)(八)

(2) 將八進位轉換為二進位 方法:取一分三法,即將一位八進位數分解成三位二進位數,用三位二進位按權相加去湊這位八進位數(其實,熟記了表格內的內容後,可以一眼就讀出來了),小數點位置照舊。例: ① 將八進位數67.54轉換為二進位 6對應110

7對應111

5對應101

4對應100

因此,將八進位數67.54轉換為二進位數為110111.101100,即110111.1011 大家從上面這道題可以看出,計算八進位轉換為二進位 首先,將八進位按照從左到右,每位展開為三位,小數點位置不變 然後,按每位展開為2,2,2(即4、2、1)三位去做湊數,即a×2+ b×2 +c×2=該位上的數(a=1或者a=0,b=1或者b=0,c=1或者c=0),將abc排列就是該位的二進位數 接著,將每位上轉換成二進位數按順序排列 最後,就得到了八進位轉換成二進位的數字。 以上的方法就是二進位與八進位的互換,大家在做題的時候需要注意的是 1) 他們之間的互換是以一位與三位轉換,這個有別於二進位與十進位轉換 2) 大家在做添0和去0的時候要注意,是在小數點最左邊或者小數點的最右邊(即整數的最高位和小數的最低位)才能添0或者去0,否則將產生錯誤

再舉個例子吧:(31.5)(八)

整數部分:從後往前每一位按十進位轉化方式轉化為三位二進位數,缺位處用0補充 則有:

1---->1---->001

3---->101

然後我們將結果按從下往上的順序書寫就是:11001,那麼這個11001就是八進位31的二進位形式

說明,關於十進位的轉化方式我這裡就不再說了,上一篇文章我已經講解了!

小數部分:從前往後每一位按十進位轉化方式轉化為三位二進位數,缺位處用0補充 則有:

5---->101

然後我們將結果按從下往上的順序書寫就是:101,那麼這個101就是八進位5的二進位形式

所以:(31.5)(八)=(11001.101)(二)

五、 二進位與十六進位的轉換 方法:與二進位與八進位轉換相似,只不過是一位(十六)與四位(二進位)的轉換,下面具體講解 (1) 二進位轉換為十六進位 方法:取四合一法,即從二進位的小數點為分界點,向左(向右)每四位取成一位,接著將這四位二進位按權相加,得到的數就是一位十六位二進位數,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的十六進位數。如果向左(向右)取四位後,取到最高(最低)位時候,如果無法湊足四位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足四位。 ①例:將二進位11101001.1011轉換為十六進位 從小數點開始向左取四位讀數

1001對應9

1110對應16

整數部分為169,注意了16在16進位中寫為E,所以是E9(看上面的表就懂了

從小數點開始向右取四位讀數

1011對應11,注意了11在16進位中寫為B

得到結果:將二進位11101001.1011轉換為十六進位為E9.B ② 例:將101011.101轉換為十六進位 因此得到結果:將二進位101011.101轉換為十六進位為2B.A (2)將十六進位轉換為二進位 方法:取一分四法,即將一位十六進位數分解成四位二進位數,用四位二進位按權相加去湊這位十六進位數,小數點位置照舊。 ①將十六進位6E.2轉換為二進位數 因此得到結果:將十六進位6E.2轉換為二進位為01101110.0010即110110.001

再舉例:

(19.A)(十六)

整數部分:從後往前每位按十進位轉換成四位二進位數,缺位處用0補充 則有:

9---->1001

1---->0001(相當於1)

六、八進位與十六進位的轉換 方法:一般不能互相直接轉換,一般是將八進位(或十六進位)轉換為二進位,然後再將二進位轉換為十六進位(或八進位),小數點位置不變。那麼相應的轉換請參照上面二進位與八進位的轉換和二進位與十六進位的轉換。 如果我們能夠熟練記住表格的內容,可以很快捷的進行計算。 要注意,十進位轉換為其餘三種進位之間,要分為整數部分和小數部分,最後就是小數點的位置。熟能生巧,希望大家多多練習哦。我在我的博客公式庫網上也發表了這篇文章,並且在下面附上了轉換工具,想要練習的朋友,可以在做完後,用工具直接進行驗證哦。

相關焦點

  • 二進位、八進位、十進位和十六進位數之間的轉換方法
    按進位的原則進行計數的方法,稱為進位計數制。比如,在十進位計數制中,是按照「逢十進一」的原則進行計數的。常見的數制有二進位、八進位、十進位和十六進位。文字、數字、聲音、圖形與圖像、視頻以及動畫等數據在計算機中是以二進位的形式存儲的。一般情況下,我們在數字後面用特定的字母(下標)表示該數的進位,表示方法為:B表示二進位,D表示十進位(D可省略),O表示八進位,H表示十六進位。
  • 二進位、八進位、十進位、十六進位數的轉換方法
    1 ----最左位∴ (30)10 =(1E)163、將P進位數轉換為十進位數把一個二進位轉換成十進位採用方法:把這個二進位的最後一位乘上20,倒數第二位乘上21,……,一直到最高位乘上2n,然後將各項乘積相加的結果就它的十進位表達式。
  • 二進位,八進位,十進位,十六進位之間的轉換
    什麼是二進位二進位是計算技術中廣泛採用的一種數制。二進位數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。當前的計算機系統使用的基本上是二進位系統,數據在計算機中主要是以補碼的形式存儲的。
  • 10、進位轉換:二進位、八進位、十六進位、十進位之間的轉換
    將二進位、八進位、十六進位轉換為十進位二進位、八進位和十六進位向十進位轉換都非常容易,就是「按權相加」。所謂「權」,也即「位權」。假設當前數字是 N 進位,那麼:更加通俗的理解是,假設一個多位數(由多個數字組成的數)某位上的數字是 1,那麼它所表示的數值大小就是該位的位權。
  • 二進位,八進位,十進位,十六進位轉換詳解~
    規則逢二進一逢八進一逢十進一逢十六進一權2^i-18^i-110^i-116^i-12.進位轉換十進位01234567          小數:0.11= 1×2^-1 + 1×2^-2 (以小數點為界逐步向右排序)        2.八進位···>十進位        轉換原則:讓八進位各位上的係數乘以對應的權,然後求其和。
  • 計算機基礎進位轉換(二進位、八進位、十進位、十六進位)
    1.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • 計算機的語言——二進位,十進位、八進位、十六進位與二進位之間的轉換
    一、進位的概念計算機中使用二進位編碼(只有0和1)表示數據,且只存在二進位。註:十六進位數前兩個數字必須為 0X(十六進位標誌)例如:0X213     -0X30       +0X56      -0X12A二、進位轉換
  • 二進位、八進位、十進位與十六進位
    (0.16)8=(0+1x8-1+6x8-2)10                =(0+0.125+0.09375)10                =(0.21875)10訣竅:方法同二進位轉換成十進位。
  • 二進位、八進位、十進位、十六進位轉換計算方法
    進位也就是進位位,我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間區別在於數運算時是逢幾進一位。比如二進位是逢2進一位,十進位也就是我們常用的0-9是逢10進一位。
  • 個人總結——二進位、十進位、十六進位轉換的方法
    近期和同事溝通時發現很多小夥伴多進位的轉換不太清晰,所以趁著周末自己總結了一下和大家分享想,下面先了解下定義。
  • 6、計算機進位之二進位、十進位、十六進位之間的轉換
    4、進位之間的轉換4.1、正整數的十進位轉換二進位將一個十進位數除以二,得到的商再除以二,依此類推直到商等於一或零時為止,倒取除得的餘數,即換算為二進位數的結果4.2、二進位轉換為十進位二進位轉十進位的轉換原理:從二進位的右邊第一個數開始,每一個乘以2的n次方,n從0開始,每次遞增1。然後得出來的每個數相加即是十進位數。
  • 二進位、十進位、八進位、十六進位間的相互轉換函數
    二進位、十進位、八進位、十六進位間的相互轉換函數1、輸入任意一個十進位的整數,將其分別轉換為二進位、八進位、十六進位。{int num;char a[39];//定義一個字符數組,用於存儲字符串cout<<"Entre num:"<<endl;cin>>num;cout<<"二進位
  • 二進位、八進位和十六進位之間轉換
    我們不妨將思維拓展一下,既然可以用 0~9 共十個數字來表示數值,那麼也可以用0、1兩個數字來表示數值,這就是二進位(Binary)。例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。
  • 二進位-八進位-十進位-十六進位之間的相互轉換
    ,最近用到數字晶片74HC125,涉及到TTL-CMOLS-進位轉換,三個方面的知識,重新拿起書本,再查找資料,匯總信息如下:01:二進位-轉為-八進位//方法://每3位為一組,因為8進位數,需要3bit數據表示0~7,逢八進一;案例1:(1100 1110)2=(11 001 110)2=(316)8
  • 二進位、八進位和十六進位數之間的轉換
    (1)二進位數轉換為十六進位轉換方法與二進位數轉換為八進位類似,只不過是四位合一位。如:將10111101010.010001B轉換為十六進位。以小數點為基準,對於整數部分,從右向左,四位一組,不足四位前面補0。
  • 進位詳解:二進位、八進位和十六進位
    例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。本節我們先講解二進位的概念,下節講解數據在內存中的存儲,讓大家學以致用。二進位加減法和十進位加減法的思想是類似的:下面兩張示意圖詳細演示了二進位加減法的運算過程。
  • 數據的表示二進位八進位十進位十六進位之間的轉換
    數據的表示1.R進位轉十進位R進位轉十進位使用按權展開法二進位 10100.01 = 1x24+1x22+1x2-2七進位 604.01 = 6x72+4x70+1x7-2十進位 1227 = 1x103+2x102+2x101+7x1002.十進位轉
  • 二進位、八進位和十六進位之間轉換詳解
    我們不妨將思維拓展一下,既然可以用 0~9 共十個數字來表示數值,那麼也可以用0、1兩個數字來表示數值,這就是二進位(Binary)。例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。
  • 二進位、八進位、十進位、十六進位之間的轉換
    反過來,當我們看到 FD時,如何迅速將它轉換為二進位數呢?先轉換F:        看到F,我們需知道它是15(可能你還不熟悉A~F這六個數),然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。接著轉換 D:        看到D,知道它是13,13如何用8421湊呢?
  • 十進位轉二、八、十六進位
    微信:15338817400有時候服務端需要二進位的字符串或者十六進位(加密token一般不會用十進位)所以十進位和十六進位、二進位互相轉化顯得十分重要1、十進位轉二進位二進位如何轉十進位,十進位如何轉二進位2、  負整數轉換成二進位方法:先是將對應的正整數轉換成二進位後,對二進位取反,然後對結果再加一。還以42為例,負整數就是-42,如圖4所示為方法解釋。