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 ...