1. 程式人生 > >Java語言基礎-進位制及原碼補碼反碼

Java語言基礎-進位制及原碼補碼反碼

    • 進位制概述

進位制也就是進位制,是人們規定的一種進位方法。 對於任何一種進位制---X進位制,就表示某一位置上的數運算時是逢X進一位。 十進位制是逢十進一,十六進位制是逢十六進一,二進位制就是逢二進一,以此類推,x進位制就是逢x進位。

  1. 二進位制

8個這樣的訊號來表示一個數據,這個資料的單位叫做:位元組

通過數字1,0來表示開關,這樣由1,0組成的資料就是二進位制資料

二進位制數有兩個特點:它由兩個基本數字0,1組成,二進位制數運算規律是逢二進一。

為區別於其它進位制數,二進位制數的書寫通常在數的右下方註上基數2,或加後面加B表示。

例如:二進位制數10110011可以寫成(10110011)2,或寫成10110011B

  1. 八進位制

把二進位制的資料,從右開始,每三位一組合,最左邊不夠的時候,補0。然後分別計算出對應的十進位制數值,最後,再把每個十進位制資料組合起來,就是一個八進位制資料。


  1. 十進位制

人們通常使用的是十進位制。它的特點有兩個:有0,1,2….9十個基本數字組成,十進位制數運算是按“逢十進一”的規則進行的.

  1. 十六進位制

把二進位制的資料從右開始,每四位一組合,最左邊不夠的時候補0.然後分別進算出對應的的十進位制數值,最後,再把每個十進位制資料組合起來,就是一個十六進位制資料。


  • 不同進位制的資料組成(常量)

二進位制

0,1組成,以0b開頭

八進位制

0,17組成,以0開頭

十進位制

0,1…9組成,整數預設是十進位制

十六進位制

0,1…9,a,b,c,d,e,f(大小均可)組成,以0x開頭

  • 進位制轉換
    1. 其他進位制到十進位制的轉換


 

  1. 十進位制到其他進位制的轉換


  1. 快速進位制轉換


  • 有符號資料表示法

在計算機內,有符號數由3種表示法:原碼、反碼和補碼。所有的資料的運算都是採用補碼進行的。

  • 原碼

就是二進位制定點表示法,即最高位為符號位,”0“表示正,”1“表示負,其餘位表示數值大小。

  • 反碼

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

  • 補碼

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

eg:

+7-7的原碼、反碼、補碼錶示