進制


進制轉換

任意進制到十進制的轉換

公式:系數*基數的權次冪相加

  • 系數:每一【位】上的數

  • 奇數:幾進制

  • 權:從數值的右側,從0開始,逐個+1


image


十進制到任意進制的轉換

公式:除基取余

使用源數據,不斷地除以基數得到余數,直到商為0,再將余數倒着拼起來。


image


快速進制轉換法
二進制轉十進制
  • 8421碼(BCD碼Binary-Coded Decimal)
128 64 32 16 8 4 2 1

對應1位相加即可得到十進制

二進制轉八進制

將三個二進制看作一組,再進行轉換

例:111100:最終轉換為八進制結果為0D74

image

二進制轉十六進制

將四個二進制看作一組,再進行轉換

例:00111100,轉換為16進制:0X3C

image

二進制的原碼、補碼、反碼

原碼:

二進制定點表示法,最高位為符號位,0表示正,1表示負,其余位表示數值的大小。

反碼:

正碼的反碼與其原碼相同;負數的反碼是對其原碼逐位取反,符號位除外。

補碼:

正數的補碼與其原碼相同;負數的補碼是在其反碼的末位+1。

例:
-7
原碼:1 0000111
反碼:1 1111000
補碼:1 1111001

位運算

位運算是對於二進制來說的運算

0表示false,1表示true

  • 位與(&):全都為true時才為true

  • 位或(|):有一個為true時就為true

  • 位異或(^):相同為false,不同為true

  • 取反(~):全部取反

位移運算符

<<:有符號左移運算:二進制位向左移動,左邊符號位丟棄,右邊補齊0。

向左移動幾位,就是乘以2的幾次冪

>>:有符號右移運算:二進制位向右移動,左側用符號位補齊,右側最后一位丟棄

向右移動幾位,就是除以2的幾次冪

>>>:無符號右移運算符:無論符號位是正數還是負數,都用0進行補位


image


一個數被同一個數異或兩次,不會發生變化


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM