二進位制 八進位制 十進位制 十六進製制之間的轉換

2021-10-24 08:49:05 字數 3388 閱讀 9659

寫在前面:博主是一位普普通通的19屆雙非軟工在讀生,平時最大的愛好就是聽聽歌,逛逛b站。博主很喜歡的一句話花開堪折直須折,莫待無花空折枝:博主的理解是頭一次為人,就應該做自己想做的事,做自己不後悔的事,做自己以後不會留有遺憾的事,做自己覺得有意義的事,不浪費這大好的青春年華。博主寫部落格目的是記錄所學到的知識並方便自己複習,在記錄知識的同時獲得部分瀏覽量,得到更多人的認可,滿足小小的成就感,同時在寫部落格的途中結交更多志同道合的朋友,讓自己在技術的路上並不孤單。

目錄:1.十進位制轉二、 八、十六進製制

整數部分的十進位制轉

二、八、十六進製制

小數部分的十進位制轉

二、八、十六進製制

2.二、八、十六進製制轉換成十進位制

整數部分

二、八、十六進製制轉換成十進位制

小數部分

二、八、十六進製制轉換成十進位制

3.二進位制和

八、十六進製制之間的轉換

4.八進位制十六機制之間的相互轉化

1.1整數部分的十進位制轉

二、八、十六進製制

轉換所使用的方法是除n取餘法,轉換成幾進製n就等於幾,具體的實現使是:

每次將整數部分除以n,直到商為0,每次得到的餘數倒敘便是最後的答案

舉個例子:

我們把十進位制的123轉成二進位制:

最後得到的答案是:1111011

十進位制轉換成其他進製同理

1.2小數部分的十進位制轉

二、八、十六進製制

採用的是乘基取證,順序排列的方法,即要轉換成幾進製,基就為幾

例子1:

如:

0.625轉換成二進位制

0.6252=1.25取出整數部分1

0.252=0.5取出整數部分0

0.5*2=1取出整數部分1

故轉換成二進位制為0.101

例子2:

0.7轉換成二進位制

0.72=1.4取出整數部分1

0.42=0.8取出整數部分0

0.82=1.6取出整數部分1

0.62=1.2取出整數部分1

0.22=0.4取出整數部分0 

0.42=0.8取出整數部分0

0.82=1.6取出整數部分1

0.62=1.2取出整數部分1

0.2*2=0.4取出整數部分0

故轉換成二進位制為0.101100110........

那麼他的原理如下:

現在我們將小數x轉換為h進製(x的整數部分 是0)

還是先看最後轉化後的結果會長什麼樣,假設乙個數x在轉換為h進製後表示為

則由進製的表示方法:

我們的思路仍是逐個求出ai是多少

於是只要迭代地 x乘h,直到小數部分為0時停止乘h,將 每次得到的整數部分 正序排列 即為答案

有時小數部分永遠不為0

2.1整數部分

二、八、十六進製制轉換成十進位制

使用的是從低位到高位乘以權重的方法

舉個例子:

對於二進位制數101011轉換成十進位制數:

第0位的權值是2的0次方,第1位的權值是2的1次方,第2位的權值是2的2次方,依次遞增下去,把最後的結果相加的值就是十進位制的值了。

1 *20+1 *21+0 *22 …得到十進位制數為43

其他進製轉十進位制類似

2.2小數部分

二、八、十六進製制轉換成十進位制

這個其實沒啥別的東西,還是和上面一樣,只是權值變成了2-1,2-2…

把二進位制0.101轉換成十進位制:

1*2-1+0 *2-2+1 *2-3得十進位制0.625

3.1二進位制和八進位制之間的轉換

二進位制轉八進位制使用取三合一法,具體實現:

即從二進位制的小數點為分界點,向左(向右)每三位取成一位,接著將這三位二進位制按權相加,然後,按順序進行排列,小數點的位置不變,得到的數字就是我們所求的八進位制數。如果向左(向右)取三位後,取到最高(最低)位時候,如果無法湊足三位,可以在小數點最左邊(最右邊),即整數的最高位(最低位)添0,湊足三位。

例如二級制11010111.0100111裝換成八進位制(整數最高位前補0和小數最低位後補0都不影響數的大小)

同理八進位制轉二進位制也一樣:

3.2二進位制和十六進製制之間的轉換

二進位制轉十六進製制使用取四合一法,和上面類似:

比如二進位制11010111轉為十六進製制:

同理十六進製制轉二進位制:

八進位制轉十六進製制我們需要先把八進位制轉換成二級制,再把二進位制轉成十六進製制

比如八進位制327轉換成十六進製制:

同理十六進製制轉換成八進位制:

二進位制 八進位制 八進位制 十進位制 十六進製制的介紹

數字在計算機中表現的方式常見的有四種 十進位制 二進位制 八進位制 十六進製制 1.十進位制 1 基數 0,1,2,3,4,5,6,7,8,9 2 進製 逢10進1 3 位權 10的n次方 n從低位到高位從0開始一次增加 1231 110 3 210 2 310 1 110 0 4 程式中的表示方式...

二進位制 八進位制 十進位制 十六進製制之間進行相互轉換

coding utf 8 created on 2015年5月28日 二進位制 八進位制 十進位制 十六進製制之間進行相互轉換 class nsc hex num num hex 二進位制轉十進位制 def bin2dec self,num 根據二進位制的位數來計算 result 0 for i i...

二進位制 八進位制 十進位制 十六進製制

進製 位置計數法是一種記數方式,故亦稱進製記數法 位值計數法,可以用有限的數字符號代表所有的數值。可使用數字符號的數目稱為基數 en radix 或底數,基數為n,即可稱n進製,簡稱n進製。現在最常用的是十進位制,通常使用10個阿拉伯數字0 9進行記數。對於任何乙個數,我們可以用不同的進製來表示。比...