進製之間的轉換

2021-06-25 22:43:20 字數 2705 閱讀 1193

今天翻了一本計算機基礎的書籍,其中十進位制、二進位制、八進位制、十六進製制之間的轉換挺有意思的,也容易犯糊塗,特溫故而知新。

十進位制數制系統

十進位制數制系統包括 10 個數字:0、1、2、3、4、5、6、7、8、9

基為:10

逢十進一,如3+7=10,20+80=100

二進位制數制系統

計算機中使用二進位制表示資料

二進位制包括兩個符號:

0和1二進位制逢二進一:(

1+1)2=(10)2

二進位制的基為

2示例:1000101100101101

八進位制數制系統

用於縮短二進位制的數字長度

八進位制基是

8,使用的符號為:0、1、2、3、4、5、6、7

逢八進一,即

(7+1)8=(10)8

十六進製制數制系統

十六進製制數制系統的基是

16十進位制:

0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15

十六進製制:

0、1、2、3、4、5、6、7、8、9、a、 b、 c、d、 e、 f

逢十六進一,如

(8+8)16=(10)16

示例:12b、00ffff

計算機中以數量表示色彩

各數制的權

各種數制中不同位的權為「基的

n-1次方(n為所在的位數)」。如:

十進位制中,各位的權為10n-1

二進位制中,各位的權為2n-1

八進位制中,各位的權為8n-1

十六進製制中,各位的權為16n-1

數制轉換

其他進製向十進位制轉換

十進位制向其他進製轉換

二進位制、八進位制、十六進製制之間進行轉化

非十進位制轉成十進位制

方法:將相應進製的數按權展成多項式,按十進位制求和。

(f8c.b)16

= f×16

2+8×16

1+c×16

0+b×16

-1 = 3840+128+12+0.6875

=3980.6875

(10011.01)2

=1×2

4+0×2

3+0×2

2+1×2

1+1×2

0+0×2

-1+1×2

-2 =16+2+1+0.25

=19.25

整數部分的轉換

除基取餘法:用目標數制的基數去除十進位制數,第一次相除所得餘數為目的數的最低位 k0,將所得商再除以基數,反覆執行上述過程,直到商為「0」,所得餘數為目的數的最高位。

例:(81)10=(?)2

得:(81)10 =(1010001)2

小數部分的轉換

乘基取整法:小數乘以目標數制的基數,第一次相乘結果的整數部分為目的數的最高位,將其小數部分再乘基數依次記下整數部分,反覆進行下去,直到小數部分為「0」,或滿足要求的精度為止。(如2

-5,只要求到小數點後第五位)

例: (0.65)10 =( ? )2 要求精度為小數五位。

由此得:(0.65)10=(0.10100)2

綜合得:(81.65)10=(1010001.10100)2

二進位制與八進位制間的轉換

從小數點開始,將二進位制數的整數和小數部分每三位分為一組,不足三位的分別在整數的最高位前和小數的最低位後加「0」補足,然後每組用等值的八進位製碼替代,即得目的數。

例:(11010111.0100111)2 = (327.234)8

二進位制與十六進製制間的轉換

從小數點開始,將二進位制數的整數和小數部分每四位分為一組,不足四位的分別在整數的最高位前和小數的最低位後加「0」補足,然後每組用等值的十六進製製碼替代,即得目的數。

例: (111011.10101)2=(3b.a8)16

綜合示例:

將 -617 用八進位制和十六進製制(補碼)表示:

答案: (-617)10=(176627)8=(fd97)16

原理:任何數在記憶體中都是以二進位制補碼的形式存放的.

正數的補碼就是其本身的二進位制.

負數的補碼是其絕對值的二進位制的反碼加+1.

1:-617的絕對值:617

其二進位制0000001001101001(整型16位)

2: 反碼  :1111 1101 1001 0110.

3:加1後 :1111 1101 1001 0111.

轉8進製,3位一體:

即:001 111 110 110 010 111

1   7   6   6   2   7

轉16進製制,4位一體:

即:1111 1101 1001 0111

f    d    9    7

進製之間的轉換

作為程式設計人員,我們常用的進製型別為 2 進製 8 進製 10 進製以及 16 進製了,他們的表示方法為 2進製為 0b001101 也就是二進位制數前加上 0b 8進製為 067 進製數前加上 0 10進製就不需多說了,什麼也不加就行,而16進製制前需要加上 0x 如 0x78af 他們的區別在...

進製之間的轉換

十進位制數制系統 十進位制數制系統包括 10 個數字 0 1 2 3 4 5 6 7 8 9 基為 10 逢十進一,如3 7 10,20 80 100 二進位制數制系統 計算機中使用二進位制表示資料 二進位制包括兩個符號 0和1 二進位制逢二進一 1 1 2 10 2 二進位制的基為2 示例 100...

進製之間的轉換

二進位制數為 0或1表示,十進位制數為0 9表示,十六進製制為0 f表示 二進位制數後用o表示,十進位制數後用d表示,十六進製制數後用h表示。將十進位制數99d轉換為二進位制數可以用除2取餘法 99除2得49餘1 49除2得24餘1 24除2得12餘0 12除2得6餘0 6除2得3餘0 3除2得1餘...