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

2020-12-11 生活用電

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

在我們接觸編程知識時,總會接觸有關進位轉換的知識,最常見的就是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.十進位轉R進位1.1 十進位轉二進位十進位整數轉二進位十進位整數轉換成二進位採用「除2倒取餘」,十進位小數轉換成二進位小數採用
  • 二進位、八進位、十進位、十六進位數的轉換方法
    ,又常用八、十六進位作為二進位的縮寫。1 ----最左位∴ (30)10 =(1E)163、將P進位數轉換為十進位數把一個二進位轉換成十進位採用方法:把這個二進位的最後一位乘上20,倒數第二位乘上21,……,一直到最高位乘上2n,然後將各項乘積相加的結果就它的十進位表達式。
  • 二進位,八進位,十進位,十六進位轉換詳解~
    規則逢二進一逢八進一逢十進一逢十六進一權2^i-18^i-110^i-116^i-12.進位轉換十進位01234567          小數:0.11= 1×2^-1 + 1×2^-2 (以小數點為界逐步向右排序)        2.八進位···>十進位        轉換原則:讓八進位各位上的係數乘以對應的權,然後求其和。
  • 一文幫你詳細圖解二進位、八進位、十進位、十六進位之間的轉換
    :SQL Server 進位轉換函數,其實它是基於二、八、十、十六進位轉換的計算公式的,進位之間的轉換是很基礎的知識,但是我發現網絡上沒有一篇能把它說的清晰、簡單、易懂的文章,所以我才寫這篇文章的念頭,希望能讓你再也不用擔心、害怕進位之間的轉換了。
  • 【S7-200】二進位、八進位、十進位、十六進位數的轉換方法
    在計算機中:D7 D6 D5 D4 D3 D2 D1 D0 只有兩種0和18 4 2 1二 、數制轉換 不同進位計數制之間的轉換原則:不同進位計數制之間的轉換是根據兩個有理數如相等,則兩數的整數和分數部分一定分別相等的原則進行的。也就是說,若轉換前兩數相等,轉換後仍必須相等。
  • 二進位、八進位、十進位與十六進位
    在計算機語言中常用的進位有二進位、八進位、十進位和十六進位,十進位是最主要的表達形式。二進位是0和1; 八進位是0-7;十進位是0-9;十六進位是0-9,A-F(大小寫均可)。也可以這樣簡單記憶,假設是n進位的話,基數就是【0,n-1】的數字,基數的個數和進位值相同,二進位有兩個基數,十進位有十個基數,依次類推。
  • 二進位、八進位、十進位、十六進位轉換計算方法
    進位也就是進位位,我們常用的進位包括:二進位、八進位、十進位與十六進位,它們之間區別在於數運算時是逢幾進一位。比如二進位是逢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<<"二進位
  • 二進位-八進位-十進位-十六進位之間的相互轉換
    -進位轉換,三個方面的知識,重新拿起書本,再查找資料,匯總信息如下:01:二進位-轉為-八進位//方法://每3位為一組,因為8進位數,需要3bit數據表示0~7,逢八進一;案例1:(1100 1110)2=(11 001 110)2=(316)802:二進位
  • 常用的二進位與八進位-十進位-十六進位之間的轉換
    1k1024k = 1M1024M = 1G1024G = 1Tb(bit) = 比特B(byte) = 字節KB = 千字節MB = 兆字節GB = 吉字節TB = 太字節內存中以二進位形式存儲數據,一個漢字一般為2位元組後面s只是因為數字不為1,
  • 二進位、八進位和十六進位之間轉換
    例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。本節我們先講解二進位的概念,下節講解數據在內存中的存儲,讓大家學以致用。
  • 閒聊數制形式:二進位、八進位、十進位、十六進位
    生活中常用的十進位計數方法可以說無時無刻都伴隨著我們左右,小到你去超市買米買菜,大到國家宏觀經濟的計算調控。我們這裡提到的十進位就是告訴你「逢十進一」,低位的數值滿十以後向前面的高位進一,然後低位數值變為零,那麼相應的二進位、八進位、十六進位就可以理解為「逢二進一」、「逢八進一」、「逢十六進一」。
  • 數據的表示二進位八進位十進位十六進位之間的轉換
    數據的表示1.R進位轉十進位R進位轉十進位使用按權展開法二進位 10100.01 = 1x24+1x22+1x2-2七進位 604.01 = 6x72+4x70+1x7-2十進位 1227 = 1x103
  • 二進位、八進位和十六進位之間轉換詳解
    例如,數字 0、1、10、111、100、1000001 都是有效的二進位。在計算機內部,數據都是以二進位的形式存儲的,二進位是學習編程必須掌握的基礎。本節我們先講解二進位的概念,下節講解數據在內存中的存儲,讓大家學以致用。
  • python進位轉換:十進位轉二進位的用法
    我們在學習python時候肯定會碰到關於進位轉換,其實這是非常簡單的,這個就像小學學習數學乘法口訣意義,只要記住轉換口訣即可輕鬆應用,一起來看下具體的操作內容吧~一、python進位轉換dec(十進位)—> bin(二進位)dec(十進位)—> oct(八進位)dec(十進位)—> hex(十六進位)二、十進位我們所熟知的十進位,其實是從 0 開始,數到 9 之後,就跳到
  • 二進位、八進位、十進位、十六進位相互轉化
    1.十進位 數值是0~9 逢十進一    2.二進位 數值是0~1 逢二進一    3.八進位 數值是0~7 逢八進一    4.十六進位 數值0~9 A~F 逢十六進一二、數位    一個數字所在的位置    1000   4位 個0 十1 百2千3    10101 二進位  5位  01234
  • 十進位與二進位、八進位、十六進位互轉
    十進位與二進位互轉  首先理解十進位如何轉二進位:將十進位數據除以2直到商為0,然後將餘數從下往上排序連接,即可得到該數字的二進位數。如:整數1313/2=6餘16/2=3餘03/2=1餘11/2=0餘1取13餘數,倒序連接。