十進制,二進制,八進制,十六進制之間的轉換,左右移運算符

十進制,二進制,八進制,十六進制之間的轉換,左右移運算符 

進制概念

1
十進制


十進制使用十個數字(0123456789)記數,基數爲10,逢十進一。


歷史上第一臺電子數字計算機ENIAC是一臺十進制機器,其數字以十進制表示,並以十進制形式運算。設計十進制機器比設計二進制機器複雜得多。而自然界具有兩種穩定狀態的組件普遍存在,如開關的開和關,電路的通和斷,電壓的高和低等,非常適合表示計算機中的數。設計過程簡單,可靠性高。因此,現在改爲二進制計算機。


2
二進制


二進制以2爲基數,只用01兩個數字表示數,逢2進一。


二進制與遵循十進制數遵循一樣的運算規則,但顯得比十進制更簡單。例如:


1)加法:
0+0=0 0+1=1 1+0=1 1+1=0

2)減法:
0-0=0 1-1=0 1-0=1 0-1=1

3)乘法:
0*0=0 0*1=0 1*0=0 1*1=1

4)除法:0/1=0 1/1=1,除數不能爲
0

3
八進制


所謂八進制,就是其基數爲8,基數值可以取012345678個值,逢八進一。


八進制與十進制運算規則一樣。那麼爲什麼要用八進制呢?難道要設計八進制的計算機麼?實際上,八進制與十六進制的引用,主要是爲了書寫和表示方便,因爲二進制表示位數比較長。如:(102410 用二進制表示爲 100000000002,共有11個數字,用八進制表示爲(20008。更重要的是,由於二進制與八進制存在在一種對等關係,每三位二進制與一位八進制數完全對等(23=8)。所以二進制和十進制在運算上無區別,而時進制不具備這一優點。


4
十六進制


十六進制應用也是非常廣泛的一種計數制。在使用者看來,十六進制是二進制數的一種更加緊湊的一種表示方法。


基數爲:0123456789ABCDEF,逢十進一。在十六進制系統中,數值爲1015的數分別用ABCDEF表示。


二進制數及與之等值的八進制、十進制和十六進制數


二進制 八進制 十進制 十六進制

0000
         0       0        
 0
0001
         1       1          
1
0010
        2       2          
2
0011
       3       3          
3
0100
        4       4          
4
0101
       5       5          
5
0110 
       6       6          
6
0111
       7       7          
7
1000
      10      8          
8
1001
     11       9          
9
1010
     12      10         A

1011
     13      11         
B
1100
     14      12         C

1101
      15      13       
 D
1110
     16      14         
E
1111
     17      15        
 


二。進制轉換


1
。二進制與十進制數間的轉換


1)二進制轉換爲十進制


將每個二進制數按權展開後求和即可。請看例題:


把二進制數(101.1012=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=5.625
10

2)十進制轉換爲二進制


一般需要將十進制數的整數部分與小數部分分開處理。


整數部分計算方法:除2取餘法 請看例題:


十進制數(5310的二進制值爲(110101
2

小數部分計算方法:乘2取整法,即每一步將十進制小數部分乘以2,所得積的小數點左邊的數字(01)作爲二進制表示法中的數字,第一次乘法所得的整數部分爲最高位。請看例題:


將(0.512510轉換成二進制。(0.512510=0.101
2

2
八進制、十六進制與十六進制間的轉換


八進制、十六進制與十六進制之間的轉換方法與二進制,同十進制之間的轉換方法類似。例如:


738=7*81+3=59
10

0.56
8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十進制整數→→→→→八進制 方法:8取餘


十進制整數→→→→→十六進制 方法:16取餘例如:


17110=253
8

265310=A5D
16

十進制小數→→→→→八進制小數 方法:8取整


十進制小數→→→→→十六進制小數 方法:16取整例如:


07187510=0.56
8

(0.142578125)10=(0.3C8)16

3.
非十進制數之間的轉換


1)二進制數與八進制數之間的轉換


轉換方法是:以小數點爲界,分別向左右每三位二進制數合成一位八進制數,或每一位八進制數展成三位二進制數,不足三位者補0。例如:


423458=100 010 011.100 101
2

1001001.11012=001 001 001.110 1002=111.64
8

2
。二進制與十六進制轉換


轉換方法:以小數點爲界,分別向左右每四位二進制合成一位十六進制數,或每一位十六進制數展成四位二進制數,不足四位者補0。例如:


ABCDEF16=1010 1011 1100 1101.1110 1111
2

101101101001011.011012=0101 1011 0100 1011.0110 10002=5B4B6816

 

補碼:

一個正數的補碼和該數的原碼(即該數的二進制形式)相同。

求一個負數的補碼的方法是:將該數的絕對值的二進制形式,按位取反再加1。例如求-10的補碼:

10的原碼:0000000000001010

取反:     1111111111110101

再加1   1111111111110110

1111111111110110就是-10的補碼了。

如果已知負數和補碼求正數的補碼:則反過來求就行了。

 

 

左移運算符(<<)a<<b,表示a的二進制向左移動b位;

右移運算符(>>)a>>b, 表示a的二進制向右移動b位。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章