1. 程式人生 > >進位制轉換與位運算

進位制轉換與位運算

1.其他進位制轉十進位制

位上的值*位數-1 相加  101=1*1 + 0*2 + 1*4

 

2.十進位制轉其他進位制

將該數不斷除以該進位制,直到商為0,將每步得到的餘數倒過來就是對應的進位制

356 / 2 = 0X164

 

3.二進位制轉其他進位制

將二進位制數每三X位一組轉成對應的進位制數值

11010101 = 0325

 

4.其他進位制轉為二進位制

將該進位制數轉為對應的N位二進位制數

 

5.原碼,反碼,補碼

對於有符號而言:

z。二進位制的最高位為符號位:0表示正數,1表示負數

a。正數的原碼,    反碼,         補碼都一樣\

b。負數的反碼=它的原碼符號位不變,其他位取反

c。負數的補碼=它的反碼+1

d。0的反碼,補碼都是0

e。在計算機運算的時候,都是以補碼的方式來運算的。同樣計算完要看實際的值,還要反過來轉換到原碼。

1  [0000 0001]  [0000 0001]  [0000 0001]

-1 [1000 0001]  [1111 1110]   [1111 1111]

 

6.位運算子

& 都為1 才為1

| 有一個為0就為0

^相異為1,相同為0

 

7.右移運算子>>

低位溢位,符號位不變,並用符號位補溢位的高位

 

8.左移運算子<<

符號位不變,低位補0