❶ 二進制的計算方法是怎樣的
二進制的計算方法是怎樣的
二進制的計算方法是怎樣的,在大學的時候,選擇了計算機專業的學生,肯定碰到過這個問題的,那就是二進制的計算方法是什麼,還難倒了不少的人,我和大家一起來看看二進制的計算方法是怎樣的。
二進制的運算算術運算二進制的加法:0+0=0,0+1=1 ,1+0=1, 1+1=10(向高位進位);即7=111,10=10103=11。
二進制的減法:0-0=0,0-1=1(向高位借位) 1-0=1,1-1=0 (模二加運算或異或運算) ;
二進制的乘法:0 * 0 = 0 0 * 1 = 0,1 * 0 = 0,1 * 1 = 1 二進制的除法:0÷0 = 0,0÷1 = 0,1÷0 = 0 (無意義),1÷1 = 1
邏輯運算二進制的或運算:遇1得1 二進制的與運算:遇0得0 二進制的非運算:各位取反。
(1)810轉二進制計算方法擴展閱讀:
二進制的轉換:
二進制轉換為其他進制:
1、二進制轉換成十進制:基數乘以權,然後相加,簡化運算時可以把數位數是0的項不寫出來,(因為0乘以其他不為0的數都是0)。小數部分也一樣,但精確度較少。
2、二進制轉換為八進制:採用「三位一並法」(是以小數點為中心向左右兩邊以每三位分組,不足的補上0)這樣就可以輕松的'進行轉換。例:將二進制數(11100101.11101011)2轉換成八進制數。 (11100101.11101011)2=(345.353)8
3、二進制轉換為十六進制:採用的是「四位一並法」,整數部分從低位開始,每四位二進制數為一組,最後不足四位的,則在高位加0補足四位為止,也可以不補0。
小數部分從高位開始,每四位二進制數為一組,最後不足四位的,必須在低位加0補足四位,然後用對應的十六進制數來代替,再按順序寫出對應的十六進制數。
方法/步驟1
十進制的小數轉換為二進制,主要是小數部分乘以2,取整數部分依次從左往右放在小數點後,直至小數點後為0。例如十進制的0.125,要轉換為二進制的小數。
轉換為二進制,將小數部分0.125乘以2,得0.25,然後取整數部分0
再將小數部分0.25乘以2,得0.5,然後取整數部分0
再將小數部分0.5乘以2,得1,然後取整數部分1
則得到的二進制的結果就是0.001
方法/步驟2
二進制的小數轉換為十進制主要是乘以2的負次方,從小數點後開始,依次乘以2的負一次方,2的負二次方,2的負三次方等。例如二進制數0.001轉換為十進制。
第一位為0,則0*1/2,即0乘以2負 一次方。
第二位為0,則0*1/4,即0乘以2的負二次方。
第三位為1,則1*1/8,即1乘以2的負三次方。
各個位上乘完之後,相加,0*1/2+0*1/4+1*1/8得十進制的0.125
❷ 計算機八進制轉二進制怎麼算
如101101010001 ,從右至左,三位一組的劃分,結果為101 101 010 001 ,按照4 2 1的順序相加各數,再把得到的數組合起來,就能得到結果,例如此題的結果為5521.
❸ 十進制轉化為二進制:510=( )2, 810=( )2。
510的二進制為:111111110
810的二進制為:1100101010
❹ 2進制數 00010001 的 ,810,16進制分別是好多為什麼.
【16進制】=11
【8進制】=021
【10進制】=17
至於何轉換:(慢慢看吧其實難像套公式樣)
)、數制
計算機採用二進制因二進制具有運算簡單易實現且靠邏輯設計提供了有利途徑、節省設備等優點了便於描述又常用八、十六進製作二進制縮寫
般計數都採用進位計數其特點:
(1)逢N進N每種進位計數製表示位數所需要符號數目基數
(2)採用位置表示法處同位置數字所代表值同而固定位置上單位數字表示值確定固定位上值稱權
計算機:D7
D6
D5
D4
D3
D2
D1
D0
只有兩種0和1
8
4
2
1
二)、數制轉換
同進位計數制之間轉換原則:同進位計數制之間轉換根據兩有理數相等則兩數整數和分數部分定分別相等原則進行也說若轉換前兩數相等轉換仍必須相等
有四進制
十進制:有10基數:0
~~
9
逢十進
二進制:有2
基數:0
~~
1
逢二進
八進制:有8基數:0
~~
7
逢八進
十六進制:有16基數:0
~~
9ABCDEF
(A=10,B=11,C=12,D=13,E=14,F=15)
逢十六進
1、數進位記數法
N=a
n-1*p
n-1+a
n-2*p
n-2+…+a2*p2+a1*p1+a0*p0
2、十進制數與P進制數之間轉換
①十進制轉換成二進制:十進制整數轉換成二進制整數通常採用除2取余法小數部分乘2取整法例(30)10轉換成二進制數
(30)10轉換成二進制數
2|
30
….0
----右位
2
15
….1
2
7
….1
2
3
….1
1
….1
----左位
∴
(30)10=(11110)2
(30)10轉換成八、十六進制數
8|
30
……6
------右位
3
------左位
∴
(30)10
=(36)8
16|
30
…14(E)----右位
1
----左位
∴
(30)10
=(1E)16
3、P進制數轉換十進制數
把二進制轉換成十進制採用方法:把二進制位乘上20倒數第二位乘上21……,直高位乘上2n,各項乘積相加結十進製表達式
把二進制11110轉換十進制
(11110)2=1*24+1*23+1*22+1*21+0*20=
=16+8+4+2+0
=(30)10
把八進制轉換成十進制採用方法:把八進制位乘上80倒數第二位乘上81……,直高位乘上8n,各項乘積相加結十進製表達式
把八進制36轉換十進制
(36)8=3*81+6*80=24+6=(30)10
把十六進制轉換成十進制採用方法:把十六進制位乘上160倒數第二位乘上161……,直高位乘上16n,各項乘積相加結十進製表達式
把十六制1E轉換十進制
(1E)16=1*161+14*160=16+14=(30)10
3、二進制轉換成八進制數
(1)二進制數轉換成八進制數:對於整數從低位高位二進制數每三位分組若夠三位時高位左面添0補足三位每三位二進制數用位八進制數替換小數部分從小數點開始自左向右每三位組進行轉換即完成例:
二進制數1101001轉換成八進制數則
(001
101
001)2
|
|
|
(
1
5
1)8
(
1101001)2=(151)8
(2)八進制數轉換成二進制數:只要每位八進制數用三位二進制數替換即完成轉換例把八進制數(643.503)8轉換成二進制數則
(6
4
3
.
5
0
3)8
|
|
|
|
|
|
(110
100
011
.
101
000
011)2
(643.503)8=(110100011.101000011)2
4、二進制與十六進制之間轉換
(1)二進制數轉換成十六進制數:由於24次方=16所依照二進制與八進制轉換方法二進制數每四位用十六進制數碼來表示整數部分小數點界點從右往左每四位組轉換小數部分從小數點開始自左向右每四位組進行轉換
(2)十六進制轉換成二進制數
十六進制數轉換成二進制數只要每位十六進制數用四位相應二進制數表示即完成轉換
例:(163.5B)16轉換成二進制數則
(
1
6
3
.
5
B
)16
|
|
|
|
|
(0001
0110
0011.
0101
1011
)2
(163.5B)16=(101100011.01011011)2
❺ 八進制數轉換為二進制數的方法是什麼
八進制數轉換為二進制數的方法很簡單,只要把每一個八進制數字改寫成等值的3位二進制數即可,且保持高低位的次序不變。八進制數字與二進制數的對應關系見表1—2。
例①將(16. 327) 8,轉換成二進制數。
(16. 327) 8= (001 110. 011 010 111) 2= (1110. 011010111) 2
②將(0. 754)g轉換成二進制數。
(0. 754) 8= (000. 111 101 100) 2= (0. 1111011) 2
❻ 10進制轉為2進制、8進制、16進制的公式
方法如下:
1、十進制整數轉二進制數方法:除以2取余數,逆序排列(除二取余法)。
具體做法:用2整除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為小於1時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
以23為例,步驟如下:
23/2=11.......1
11/2=5.........1
5/2=2............1
2/2=1............0
1/2=0............1
則23(十進制)=10111(二進制)。
2、十進制整數轉八進制數方法:除以8取余,逆序排列(除8取余法)。
具體做法:用8整除十進制整數,可以得到一個商和余數;再用8去除商,又會得到一個商和余數,如此進行,直到商為小於1時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
以214為例,步驟如下:
214/8=26.......6
26/8=3............2
3/8=0...............3
則214(十進制)=326(八進制)。
3、十進制整數轉十六進制數方法:除以16取余,逆序排列(除16取余法)
具體做法:用16整除十進制整數,可以得到一個商和余數;再用16去除商,又會得到一個商和余數,如此進行,直到商為小於1時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
同時,當余數為10用A表示,11用B表示,12用C表示,13用D表示,14用E表示,15用F表示。
以214為例,步驟如下:
214/16=13.........6
13/16=0...........13
則214(十進制)=D6(十六進制)。
(6)810轉二進制計算方法擴展閱讀:
二進制間的計算是逢二進一(其他進制同理),
其加法: 0+0=0,0+1=1 , 1+0=1, 1+1=10 。如:0110+0101=1011
其乘法:0×0=0,1×0=0,0×1=0,1×1=1。
其減法:0-0=0,1-0=1,1-1=0,0-1=1。
其除法:0÷1=0,1÷1=1。
計算機中的十進制小數用二進制通常是用乘二取整法來獲得的。
比如0.45換算成二進制就是:
0.45 × 2 = 0.9 取0,留下0.9繼續乘二取整
0.9 × 2 = 1.8 取1, 留下0.8繼續乘二取整
0.8 × 2 = 1.6 取1,留下0.6繼續乘二取整
0.6 × 2 = 1.2 取1, 留下0.2繼續乘二取整
0.2 × 2 = 0.4 取0, 留下0.4繼續乘二取整
0.4 × 2 = 0.8 取0, 留下0.8繼續乘二取整
.......
一直循環,直到達到精度限制才停止(如:取6位則為011100)。
❼ 八進制數與二進制數怎麼進行互相轉換
二進制和八進制相互轉換的方法如下:
1、先了解二進制數與八進制數之間的對應關系。
二進制是計算技術中廣泛採用的一種數制。二進制數據是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」,由18世紀德國數理哲學大師萊布尼茲發現。
八進制,一種以8為基數的計數法,採用0,1,2,3,4,5,6,7八個數字,逢八進1。一些編程語言中常常以數字0開始表明該數字是八進制。
❽ 8進制轉2進制怎麼轉
將二進制、八進制、十六進制轉換為十進制
二進制、八進制和十六進制向十進制轉換都非常容易,就是「按權相加」。所謂「權」,也即「位權」。
假設當前數字是 N 進制,那麼:
對於整數部分,從右往左看,第 i 位的位權等於Ni-1
對於小數部分,恰好相反,要從左往右看,第 j 位的位權為N-j。
更加通俗的理解是,假設一個多位數(由多個數字組成的數)某位上的數字是 1,那麼它所表示的數值大小就是該位的位權。
1) 整數部分
例如,將八進制數字 53627 轉換成十進制:
53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十進制)
從右往左看,第1位的位權為 80=1,第2位的位權為 81=8,第3位的位權為 82=64,第4位的位權為 83=512,第5位的位權為 84=4096 …… 第n位的位權就為 8n-1。將各個位的數字乘以位權,然後再相加,就得到了十進制形式。
注意,這里我們需要以十進制形式來表示位權。
再如,將十六進制數字 9FA8C 轉換成十進制:
9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653964(十進制)
從右往左看,第1位的位權為 160=1,第2位的位權為 161=16,第3位的位權為 162=256,第4位的位權為 163=4096,第5位的位權為 164=65536 …… 第n位的位權就為 16n-1。將各個位的數字乘以位權,然後再相加,就得到了十進制形式。
將二進制數字轉換成十進制也是類似的道理
11010 = 1×24 + 1×23 + 0×22 + 1×21 + 0×20 = 26(十進制)
從右往左看,第1位的位權為 20=1,第2位的位權為 21=2,第3位的位權為 22=4,第4位的位權為 23=8,第5位的位權為 24=16 …… 第n位的位權就為 2n-1。將各個位的數字乘以位權,然後再相加,就得到了十進制形式。
2) 小數部分
例如,將八進制數字 423.5176 轉換成十進制:
423.5176 = 4×82 + 2×81 + 3×80 + 5×8-1 + 1×8-2 + 7×8-3 + 6×8-4 = 275.65576171875(十進制)
小數部分和整數部分相反,要從左往右看,第1位的位權為 8-1=1/8,第2位的位權為 8-2=1/64,第3位的位權為 8-3=1/512,第4位的位權為 8-4=1/4096 …… 第m位的位權就為 8-m。
再如,將二進制數字 1010.1101 轉換成十進制:
1010.1101 = 1×23 + 0×22 + 1×21 + 0×20 + 1×2-1 + 1×2-2 + 0×2-3 + 1×2-4 = 10.8125(十進制)
小數部分和整數部分相反,要從左往右看,第1位的位權為 2-1=1/2,第2位的位權為 2-2=1/4,第3位的位權為 2-3=1/8,第4位的位權為 2-4=1/16 …… 第m位的位權就為 2-m。
更多轉換成十進制的例子:
二進制:1001 = 1×23 + 0×22 + 0×21 + 1×20 = 8 + 0 + 0 + 1 = 9(十進制)
二進制:101.1001 = 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 0×2-3 + 1×2-4 = 4 + 0 + 1 + 0.5 + 0 + 0 + 0.0625 = 5.5625(十進制)
八進制:302 = 3×82 + 0×81 + 2×80 = 192 + 0 + 2 = 194(十進制)
八進制:302.46 = 3×82 + 0×81 + 2×80 + 4×8-1 + 6×8-2 = 192 + 0 + 2 + 0.5 + 0.09375= 194.59375(十進制)
十六進制:EA7 = 14×162 + 10×161 + 7×160 = 3751(十進制)
將十進制轉換為二進制、八進制、十六進制
將十進制轉換為其它進制時比較復雜,整數部分和小數部分的演算法不一樣,下面我們分別講解。
1) 整數部分
十進制整數轉換為 N 進制整數採用「除 N 取余,逆序排列」法。具體做法是:
將 N 作為除數,用十進制整數除以 N,可以得到一個商和余數;
保留余數,用商繼續除以 N,又得到一個新的商和余數;
仍然保留余數,用商繼續除以 N,還會得到一個新的商和余數;
……
如此反復進行,每次都保留余數,用商接著除以 N,直到商為 0 時為止。
把先得到的余數作為 N 進制數的低位數字,後得到的余數作為 N 進制數的高位數字,依次排列起來,就得到了 N 進制數字。
下圖演示了將十進制數字 36926 轉換成八進制的過程:
從圖中得知,十進制數字 36926 轉換成八進制的結果為 110076。
下圖演示了將十進制數字 42 轉換成二進制的過程:
從圖中得知,十進制數字 42 轉換成二進制的結果為 101010。
2) 小數部分
十進制小數轉換成 N 進制小數採用「乘 N 取整,順序排列」法。具體做法是:
用 N 乘以十進制小數,可以得到一個積,這個積包含了整數部分和小數部分;
將積的整數部分取出,再用 N 乘以餘下的小數部分,又得到一個新的積;
再將積的整數部分取出,繼續用 N 乘以餘下的小數部分;
……
如此反復進行,每次都取出整數部分,用 N 接著乘以小數部分,直到積中的小數部分為 0,或者達到所要求的精度為止。
把取出的整數部分按順序排列起來,先取出的整數作為 N 進制小數的高位數字,後取出的整數作為低位數字,這樣就得到了 N 進制小數。
下圖演示了將十進制小數 0.930908203125 轉換成八進制小數的過程:
從圖中得知,十進制小數 0.930908203125 轉換成八進制小數的結果為 0.7345。
下圖演示了將十進制小數 0.6875 轉換成二進制小數的過程:
從圖中得知,十進制小數 0.6875 轉換成二進制小數的結果為 0.1011。
如果一個數字既包含了整數部分又包含了小數部分,那麼將整數部分和小數部分開,分別按照上面的方法完成轉換,然後再合並在一起即可。例如:
十進制數字 36926.930908203125 轉換成八進制的結果為 110076.7345;
十進制數字 42.6875 轉換成二進制的結果為 101010.1011。
注意,十進制小數轉換成其他進制小數時,結果有可能是一個無限位的小數。請看下面的例子:
十進制 0.51 對應的二進制為 0....,是一個循環小數;
十進制 0.72 對應的二進制為 0....,是一個循環小數;
十進制 0.625 對應的二進制為 0.101,是一個有限小數。
二進制和八進制、十六進制的轉換
其實,任何進制之間的轉換都可以使用上面講到的方法,只不過有時比較麻煩,所以一般針對不同的進制採取不同的方法。將二進制轉換為八進制和十六進制時就有非常簡潔的方法,反之亦然。
1) 二進制整數和八進制整數之間的轉換
二進制整數轉換為八進制整數時,每三位二進制數字轉換為一位八進制數字,運算的順序是從低位向高位依次進行,高位不足三位用零補齊。下圖演示了如何將二進制整數 1110111100 轉換為八進制:
從圖中可以看出,二進制整數 1110111100 轉換為八進制的結果為 1674。
八進制整數轉換為二進制整數時,思路是相反的,每一位八進制數字轉換為三位二進制數字,運算的順序也是從低位向高位依次進行。下圖演示了如何將八進制整數 2743 轉換為二進制:
從圖中可以看出,八進制整數 2743 轉換為二進制的結果為 10111100011。
2) 二進制整數和十六進制整數之間的轉換
二進制整數轉換為十六進制整數時,每四位二進制數字轉換為一位十六進制數字,運算的順序是從低位向高位依次進行,高位不足四位用零補齊。下圖演示了如何將二進制整數 10 1101 0101 1100 轉換為十六進制:
從圖中可以看出,二進制整數 10 1101 0101 1100 轉換為十六進制的結果為 2D5C。
十六進制整數轉換為二進制整數時,思路是相反的,每一位十六進制數字轉換為四位二進制數字,運算的順序也是從低位向高位依次進行。下圖演示了如何將十六進制整數 A5D6 轉換為二進制:
從圖中可以看出,十六進制整數 A5D6 轉換為二進制的結果為 1010 0101 1101 0110。
由於在C語言編程中,二進制、八進制、十六進制之間幾乎不會涉及小數的轉換,所以這里我們只講整數的轉換,大家學以致用足以。另外,八進制和十六進制之間也極少直接轉換,這里我們也不再講解了。
總結
本節前面兩部分講到的轉換方法是通用的,任何進制之間的轉換都可以採用,只是有時比較麻煩而已。二進制和八進制、十六進制之間的轉換有非常簡潔的方法,所以沒有採用前面的方法。
❾ 請將十進制數「8」轉換成二進制數麻煩給個計算過程
10進制轉二進制,我們只要取10進制數%2的余數,即可.
原理:8%2得到二進制的個位上的數,(8/2)%2得到的就是二進制的十位上的數了,(8/2/2)%2
得到的就是二進制的百位上的數.8%2=0,(8/2)%2=0,(8/2/2)%2=0,(8/2/2/2)%2=1,這樣就得到了
0
0
0
1
,當然這個數字是剛好想反,倒過來,就是1000
❿ 將下列十進制計數法轉化為二進制計數法,810=【】2,1510【】2,【下面標10.2分別表是十進制和二進制
聯系我[email protected]
我發一個10進制、8進制、16進制、2進制之間轉換的小工具給你