求二,八,十,十六進位制之間如何轉換(簡單易學的),謝謝指點

2022-03-10 01:49:14 字數 5250 閱讀 5024

1樓:匿名使用者

一般來說,對於任意大於1的整數n,存在n進位制,其特點是基數為n,逢n進一。其中最常用的是二進位制、八進位制和十六進位制。

任意進位制的數字對應的十進位制值為:

kn×bn + kn-1×bn-1 + …… + k1×b1 + k0×b0 + k-1×b-1 + k-2×b-2 …… + k-m×b-m

上式中,b稱為數字系統的基數,bn至b0稱為數字kn至k0的權值。

1.基本知識

十進位制基數為10,逢10進1。在十進位制中,一共使用10個不同的數字符號,這些符號處於不同位置時,其權值各不相同。

二進位制基數為2,逢2進1。在二進位制中,使用0和1兩種符號。

八進位制基數為8,逢8進1。八進位制使用8種不同的符號,它們與二進位制的轉換關係為:

0:000 1:001 2:010 3:011 4:100 5:101 6:110 7:111

十六進位制

基數為16,逢16進1。十六進位制使用16種不同的符號,它們與二進位制的轉換關係為:

0:0000 1:0001 2:0010 3:0011 4:0100 5:0101 6:0110 7:0111

8:1000 9:1001 a:1010 b:1011 c:1100 d:1101 e:1110 f:1111

二進位制數的運算

算術運算:加法

0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10(向高位進1)

算術運算:減法

0 ? 0 = 0 0 ? 1 = 1(向高位借1) 1 ? 0 = 1 1 - 1 = 0

邏輯運算:或(∨)

0 ∨ 0 = 0 0 ∨ 1 = 1 1 ∨ 0 = 1 1 ∨ 1 = 1

邏輯運算:與(∧)

0 ∧ 0 = 0 0 ∧ 1 = 0 1 ∧ 0 = 0 1 ∧ 1 = 1

邏輯運算:取反

0取反為1 1取反為0

注意:算術運算會發生進位、借位,邏輯運算則按位獨立進行,不發生位與位之間的關係,其中,0表示邏輯假,1表示邏輯真。

2.轉換為十進位制

二進位制化為十進位制

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

(101.01)2 = 1×22 + 0×21 + 1×20 + 0×2-1 + 1×2-2 = (5.25)10

八進位制化為十進位制

例:將八進位制數12.6轉換成十進位制數

(12.6)8 = 1×81 + 2×80 + 6×8-1 = (10.75)10

十六進位制化為十進位制

例:將十六進位制數2ab.6轉換成十進位制數:

(2ab.6)16 = 2×162 + 10×161 + 11×160 + 6×16-1 = (683.375)10

3.轉換為二進位制

八進位制化為二進位制

規則:按照順序,每1位八進位制數改寫成等值的3位二進位制數,次序不變。

例: (17.36)8 = (001 111 .011 110)2 = (1111.01111)2

十六進位制化為二進位制

規則:每1位十六進位制數改寫成等值的4位二進位制數,次序不變。

例: (3a8c.d6)16 = (0011 1010 1000 1100.1101 0110)2 = (11101010001100.1101011)2

十進位制整數化為二進位制整數

規則:除二取餘,直到商為零為止,倒排。

例:將十進位制數86轉化為二進位制

2 | 86…… 0

2 | 43…… 1

2 | 21…… 1

2 | 10…… 0

2 | 5 …… 1

2 | 2 …… 0

2 | 1 …… 1

結果:(86)10 = (1010110)2

十進位制小數化為二進位制小數

規則:乘二取整,直到小數部分為零或給定的精度為止,順排。

例:將十進位制數0.875轉化為二進位制數

0.875

× 21.75

× 21.5

×21.0

結果:(0.875)10 = (0.111)2

4.轉換為八進位制

二進位制化為八進位制

整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進位制的值,轉換完畢就是八進位制的整數。

小數部份從最高有效位開始,以3位一組,最低有效位不足3位時以0補齊,每一組均可轉換成一個八進位制的值,轉換完畢就是八進位制的小數。

例:(11001111.01111)2 = (11 001 111.011 110)2 = (317.36)8

十六進位制化為八進位制

先用1化4方法,將十六進位制化為二進位制;再用3並1方法,將二進位制化為8制。

例: (1ca)16 = (000111001010)2 = (712)8

說明:小數點前的高位零和小數點後的低位零可以去除。

十進位制化八進位制

方法1:採用除8取餘法。

例:將十進位制數115轉化為八進位制數

8| 115…… 3

8| 14 …… 6

8| 1 …… 1

結果:(115)10 = (163)8

方法2:先採用十進位制化二進位制的方法,再將二進位制數化為八進位制數

例:(115)10 = (1110011)2 = (163)8

5.轉換為十六進位制

二進位制化為十六進位制

整數部份從最低有效位開始,以4位為一組,最高有效位不足4位時以0補齊,每一組均可轉換成一個十六進位制的值,轉換完畢就是十六進位制的整數。

小數部份從最高有效位開始,以4位為一組,最低有效位不足4位時以0補齊,每一組均可轉換成一個十六進位制的值,轉換完畢就是十六進位制的小數。

例:(11001111.01111)2 = (1100 1111 .0111 1000)2 = (cf.78)16

八進位制化為十六進位制

先將八進位制化為二進位制,再將二進位制化為十六進位制。

例:(712)8 = (111001010)2 = (1ca)16

十進位制化為十六進位制

方法1:採用除16取餘法。

例:將十進位制數115轉化為八進位制數

16| 115…… 3

16| 7 …… 7

結果:(115)10 = (73)16

方法2:先將十進位制化為二進位制,再將二進位制化為十六進位制。

例:(115)10 = (1110011)2 = (73)16

2樓:匿名使用者

第一問是6進位制 答案應該是32.第二題是8進位制 第一題方法:將等式左右兩邊都轉換成十進位制左邊是8 右邊是1*x+2 也就是x+2=8 x=6.

4*5=20,再把20轉換成6進位制也就是32. 第二道題方法:6a轉換成10進位制是106。

152轉換成10進位制就是1*x^2+5x+2. 所以1*x^2+5x+2=152,解出來x=8。 你的問題二,八,十,十六進位制之間的轉換,兩兩之間轉換就有6種,這個有點多哦。。。

其實你只要瞭解了進位制的本質就簡單了。進位制最重要的不就是權麼。所以其他進位制轉換成十進位制都是用那位的數字乘以那一位的權。

二,八,十六之間轉換比較簡單二,八之間轉換,每三位二進位制數轉換成一位八進位制數,一位八進位制數轉換成三位二進位制數。二,十六之間轉換,每四位二進位制數轉換成一位十六進位制數,一位十六進位制數轉換成四位二進位制數。八,十六之間轉換的話就先轉換成二進位制。

原創的 打得不少了呵呵。

求十進位制二進位制八進位制十六進位制之間小數的轉換。注意是小數的轉換。謝謝了。求詳細解答。通俗易懂。 30

3樓:匿名使用者

小數 十進位制轉二進位制:十進位制小數乘以2,整數部分為二進位制小數點後第一位,小數部分再乘以2,整數部分為二進位制小數點後第二位,以此類推...

例如:十進位制小數0.1875:0.1875×2=0.375 『二進位制0.0

0.375×2=0.75 』二進位制0.00

0.75×2=1.5 』二進位制0.001

0.5×2=1.0 』二進位制0.0011

所以 十進位制小數0.1875對應二進位制小數為0.0011

然後二進位制小數轉換為八進位制和十六進位制比較簡單:

二進位制小數轉化為八進位制小數:以小數點為基準,向後三個一組,不足補0

例如 0.0011=0. 001 100 將各組轉換為十進位制數字即為所得八進位制小數

0.0011=0. 001 100->0.14(八進位制)

二進位制小數轉化為十六進位制小數:以小數點為基準,向後四個一組,不足補0

例如 0.0011=0. 0011 將各組轉換為十進位制數字即為所得十六進位制小數

0.0011=0. 0011->0.3(十六進位制)

4樓:匿名使用者

有2種方法,可以直接用計算機輸出,可以手動計算1、先來最簡單的,下邊是在vc6.0用c語言寫成的,就是使用格式符輸出%d為10進位制,%o為8進位制,%x為16進位制#includemain()有缺點就是小數和2進位制轉換不了2、手動轉換,括號外的表示進位制是標記,(10)2,表示2進位制碼10r進位制數→十進位制數:使用按權相加法,即將各位進位制數碼與它對應的權相乘,其積相加,和數即為與該r進位制數相對應的十進位制數。

十進位制數→r進位制數:整數的轉換:採用除r取餘法。

從最後一次除得餘數讀起(即從高位到低位)。小數部分的轉換:採用乘r取整法,將所得小數從第一次乘得整數讀起,就是這個十進位制小數所對應的r進位制小數例1:

求(1100101.101)2的等值十進位制數。分析:

使用按權相加法,即將各位進位制數碼與它對應的權相乘,其積相加,和數即為與該r進位制數相對應的十進位制數。1100101.101)2=1×26+1×25+0×24+0×23+1×22+0×21+1×20+1×2-1+0×2-2+1×2-3=64+32+0+0+4+0+1+0.

5+0.125=(101.625)10即(1100101.

101)2=(101.625)10例2:求(66.

625)10等值二進位制數分析:將此數分成整數和小數兩部分分別轉換,然後再拼接起來。解:

先求(66)10的等值2進位制,用除2取餘法:66/2=33餘0,33/2=16餘1,16/2=8餘0,8/2=4餘0,4/2=2餘0,2/2=1餘0,1/2=1餘1即(66)10=(1000010)2再求小數部分0.625×2=1.

25010.250×2=0.50000.

500×2=1.0001即(0.625)10=(0.

101)2(66.625)10=(1000010.101)2注意:

十進位制小數不一定都能轉換成完全等值的二進位制小數,所以有時要取近似值,有換算誤差存在這裡只有先把其他進位制轉換為10進位制,再轉換為其他進位制的,其實還有更簡單的,**分吧,哈哈

怎麼計算12的十六進位制,十六進位制轉換,十六進位制OX12等於十進位制的多少

有些bai錯別字。應改為 十進位制 du的12的二進位制是 zhi1100,二進位制轉十六進dao制是從二進位制數字的右往左每取專4位數為一 屬個十六進位制數,位數不夠的最前面的補0,所以十進位制的12的十六進位制數還是12。如果十進位制的數為18,即二進位制數為0001 0010,即十進位制18的...

十六進位制帶小數轉換成十進位制,十六進位制小數轉換為十進位制怎麼轉

十六進位制 是可以直接轉copy成 十進位制 的例如 126.398h 整數部分126 百位 1 16 16 16的平方 十位 2 16 16的一次方 個位 6 16的零次方 小數部分398 3 16 1 9 16 2 8 16 3 十六進位制數bai和十進位制數類似,以小數du點為界,整數部分從z...

十六進位制怎麼轉換成十進位制,十六進位制怎麼轉換成十進位制

用位加權乘,積相加法比較 簡單。如8ffc035b轉換為十進位制 最低位是16 0,依次向左 8ffc035b 16 8x16 7 fx16 6 fx16 5 cx16 4 0x16 3 3x16 2 5x16 1 bx16 0 2147483648 15x16 6 15x16 5 12x16 4 ...