c語言中二進位制十進位制十六進位制各是什麼意思

2021-03-04 06:33:26 字數 7772 閱讀 6711

1樓:匿名使用者

計算機中常用的數的進位制主要有:二進位制、八進位制、十六進位制,學習計算機要對其有所瞭解。

2進位制,用兩個阿拉伯數字:0、1;

8進位制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;

10進位制,用十個阿拉伯數字:0到9;

16進位制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

以下簡介各種進位制之間的轉換方法:

一、二進位制轉換十進位制

例:二進位制 「1101100」

1101100 ←二進位制數

6543210 ←排位方法

例如二進位制換算十進位制的演算法:

1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20

↑ ↑說明:2代表進位制,後面的數是次方(從右往左數,以0開始)

=64+32+0+8+4+0+0

=108

二、二進位制換算八進位制

例:二進位制的「10110111011」

換八進位制時,從右到左,三位一組,不夠補0,即成了:

010 110 111 011

然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:

010 = 2

110 = 4+2 = 6

111 = 4+2+1 = 7

011 = 2+1 = 3

結果為:2673

三、二進位制轉換十六進位制

十六進位制換二進位制的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:

0101 1011 1011

運算為:

0101 = 4+1 = 5

1011 = 8+2+1 = 11(由於10為a,所以11即b)

1011 = 8+2+1 = 11(由於10為a,所以11即b)

結果為:5bb

四、二進位制數轉換為十進位制數

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有一個二進位制數:0110 0100,轉換為10進製為:

計算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

五、八進位制數轉換為十進位制數

八進位制就是逢8進1。

八進位制數採用 0~7這八數來表達一個數。

八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……

所以,設有一個八進位制數:1507,轉換為十進位制為:

計算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

結果是,八進位制數 1507 轉換成十進位制數為 839

六、十六進位制轉換十進位制

例:2af5換算成10進位制

直接計算就是: 5 * 160 + f * 161 + a * 162 + 2 * 163 = 10997

(別忘了,在上面的計算中,a表示10,而f表示15)、

現在可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。

假設有人問你,十進數 1234 為什麼是 一千二百三十四?你儘可以給他這麼一個算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

十進位制與二進位制轉換之相互演算法

十進位制轉二進位制:

用2輾轉相除至結果為1

將餘數和最後的1從下向上倒序寫 就是結果

例如302

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

故二進位制為100101110

二進位制轉十進位制

從最後一位開始算,依次列為第0、1、2...位

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

得到的結果相加就是答案

例如:01101011.轉十進位制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位制01101011=十進位制107.

一、二進位制數轉換成十進位制數

由二進位制數轉換成十進位制數的基本做法是,把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和。這種做法稱為"按權相加"法。

二、十進位制數轉換為二進位制數

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

1. 十進位制整數轉換為二進位制整數

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2去除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

2.十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

1.二進位制與十進位制的轉換

(1)二進位制轉十進位制

方法:"按權求和"

例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十進位制轉二進位制

· 十進位制整數轉二進位制數:"除以2取餘,逆序輸出"

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十進位制小數轉二進位制數:"乘以2取整,順序輸出"

例: (0.625)10= (0.101)2

0.625

x 21.25

x 20.5x 21.02.八進位制與二進位制的轉換

例:將八進位制的37.416轉換成二進位制數:

37 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

例:將二進位制的10110.0011 轉換成八進位制:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.011)2 =(26.14)8

3.十六進位制與二進位制的轉換

例:將十六進位制數5df.9 轉換成二進位制:

5 d f . 9

0101 1101 1111.1001

即:(5df.9)16 =(10111011111.1001)2

例:將二進位制數1100001.111 轉換成十六進位制:

0110 0001 . 1110

6 1 . e

即:(1100001.111)2 =(61.e)16

2樓:匿名使用者

十進位制就是跟以前學的加減法一樣,滿十進一或退一,二進位制,八進位制,十六進位制是一個道理,就是滿二,滿八,滿十六進一

3樓:匿名使用者

就是滿多少進1,二進位制數字就是0,1十進位制數字就是0~9十六進位制數字就是0~9,a,b,c,d,e,f

c語言中的二進位制、十進位制、十六進位制各是什麼意思?

4樓:百度使用者

計算機中常用的數的進位制主要有:二進位制、八進位制、十六進位制,學習計算機要對其有所瞭解。

2進位制,用兩個阿拉伯數字:0、1;

8進位制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;

10進位制,用十個阿拉伯數字:0到9;

16進位制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

以下簡介各種進位制之間的轉換方法:

一、二進位制轉換十進位制

例:二進位制 「1101100」

1101100 ←二進位制數

6543210 ←排位方法

例如二進位制換算十進位制的演算法:

1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20

↑ ↑說明:2代表進位制,後面的數是次方(從右往左數,以0開始)

=64+32+0+8+4+0+0

=108

二、二進位制換算八進位制

例:二進位制的「10110111011」

換八進位制時,從右到左,三位一組,不夠補0,即成了:

010 110 111 011

然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:

010 = 2

110 = 4+2 = 6

111 = 4+2+1 = 7

011 = 2+1 = 3

結果為:2673

三、二進位制轉換十六進位制

十六進位制換二進位制的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:

0101 1011 1011

運算為:

0101 = 4+1 = 5

1011 = 8+2+1 = 11(由於10為a,所以11即b)

1011 = 8+2+1 = 11(由於10為a,所以11即b)

結果為:5bb

四、二進位制數轉換為十進位制數

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有一個二進位制數:0110 0100,轉換為10進製為:

計算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100

五、八進位制數轉換為十進位制數

八進位制就是逢8進1。

八進位制數採用 0~7這八數來表達一個數。

八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……

所以,設有一個八進位制數:1507,轉換為十進位制為:

計算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839

結果是,八進位制數 1507 轉換成十進位制數為 839

六、十六進位制轉換十進位制

例:2af5換算成10進位制

直接計算就是: 5 * 160 + f * 161 + a * 162 + 2 * 163 = 10997

(別忘了,在上面的計算中,a表示10,而f表示15)、

現在可以看出,所有進位制換算成10進位制,關鍵在於各自的權值不同。

假設有人問你,十進數 1234 為什麼是 一千二百三十四?你儘可以給他這麼一個算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100

十進位制與二進位制轉換之相互演算法

十進位制轉二進位制:

用2輾轉相除至結果為1

將餘數和最後的1從下向上倒序寫 就是結果

例如302

302/2 = 151 餘0

151/2 = 75 餘1

75/2 = 37 餘1

37/2 = 18 餘1

18/2 = 9 餘0

9/2 = 4 餘1

4/2 = 2 餘0

2/2 = 1 餘0

故二進位制為100101110

二進位制轉十進位制

從最後一位開始算,依次列為第0、1、2...位

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

得到的結果相加就是答案

例如:01101011.轉十進位制:

第0位:1乘2的0次方=1

1乘2的1次方=2

0乘2的2次方=0

1乘2的3次方=8

0乘2的4次方=0

1乘2的5次方=32

1乘2的6次方=64

0乘2的7次方=0

然後:1+2+0

+8+0+32+64+0=107.

二進位制01101011=十進位制107.

一、二進位制數轉換成十進位制數

由二進位制數轉換成十進位制數的基本做法是,把二進位制數首先寫成加權係數式,然後按十進位制加法規則求和。這種做法稱為"按權相加"法。

二、十進位制數轉換為二進位制數

十進位制數轉換為二進位制數時,由於整數和小數的轉換方法不同,所以先將十進位制數的整數部分和小數部分分別轉換後,再加以合併。

1. 十進位制整數轉換為二進位制整數

十進位制整數轉換為二進位制整數採用"除2取餘,逆序排列"法。具體做法是:用2去除十進位制整數,可以得到一個商和餘數;再用2去除商,又會得到一個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。

2.十進位制小數轉換為二進位制小數

十進位制小數轉換成二進位制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為二進位制小數的高位有效位,後取的整數作為低位有效位。

1.二進位制與十進位制的轉換

(1)二進位制轉十進位制

方法:"按權求和"

例: (1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10

=(8+0+2+1+0+0.25)10

=(11.25)10

(2)十進位制轉二進位制

· 十進位制整數轉二進位制數:"除以2取餘,逆序輸出"

例: (89)10=(1011001)2

2 89

2 44 …… 1

2 22 …… 0

2 11 …… 0

2 5 …… 1

2 2 …… 1

2 1 …… 0

0 …… 1

· 十進位制小數轉二進位制數:"乘以2取整,順序輸出"

例: (0.625)10= (0.101)2

0.625

x 21.25

x 20.5x 21.02.八進位制與二進位制的轉換

例:將八進位制的37.416轉換成二進位制數:

37 . 4 1 6

011 111 .100 001 110

即:(37.416)8 =(11111.10000111)2

例:將二進位制的10110.0011 轉換成八進位制:

0 1 0 1 1 0 . 0 0 1 1 0 0

2 6 . 1 4

即:(10110.011)2 =(26.14)8

3.十六進位制與二進位制的轉換

例:將十六進位制數5df.9 轉換成二進位制:

5 d f . 9

0101 1101 1111.1001

即:(5df.9)16 =(10111011111.1001)2

例:將二進位制數1100001.111 轉換成十六進位制:

0110 0001 . 1110

6 1 . e

即:(1100001.111)2 =(61.e)16

二進位制,十進位制,十六進位制,求學習

二進位制 基本數bai字為0,1,只要超過du1做進位成為zhi10,1 1 10 十進位制 這個和我們平時dao學的專是一樣的 十六進位制 基本數字屬為0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,其中a,b,c,d,e,f,也就是表示10,11,12,13,14,15,超過f就...

二進位制八進位制十進位制十六進位制的不同的數怎麼

按權,統一轉換我們習慣十進位制進行比較.比如 10101010 2 260 256 8 174 320 10 320 a12 16 2578 是都要轉換成為十進位制嗎?不用,不同進位制相同資料,進位制越大數越大 一個相同的數,16進位制最大,10進位制第二,8進位制第三,2進位制第四 轉換成相同 統...

二進位制八進位制十六進位制十進位制之間怎樣相互轉化

1 二進位制數 八進位制數 十六進位制數轉十進位制數 有一個公式 二進位制數 八進位制數 十六進位制數的各位數字分別乖以各自的基數的 n 1 次方,其和相加之和便是相應的十進位制數。個位,n 1 十位,n 2.舉例 110b 1 2的2次方 1 2的1次方 0 2的0次方 0 4 2 0 6d 11...