2016-06-11 158 views
-6

我來到acrros這一行:Java - 0xXXXc是什麼意思?

int b = (0x001c >> 1) 

而且我不知道這是什麼小c旁邊0x001手段。 我知道0x爲十六進制但我從未見過此c之前..

由於

+8

你確定它不只是十六進制數字C 2 – Arc676

+0

是的,你對我的錯誤。 – Noam

回答

0

在基座10中,有十位數字:0,1,2,3,4,5,6 ,7,8,9

在基座2,僅存在兩個:0,1

在十六進制(基數16),有16:0-9和A,b,C,d,電子f。有時使用大寫字母:兩者都很好。

所以0x001c 裝置爲0x1 ×16 +位於0xC X 1 = 16 + 12 = 28

0

此這裏

int b = (0x001c >> 1) 

可以分析爲:

  1. INT b被聲明的名稱b中的整數類型的變量,這將是在相同的值初始化...
  2. 0x001c是一個數字,但在一個hexadecimal format
  3. 表示
  4. >>shift operator

所以b與操作的結果初始化0x001c >> 1遲早你會發現,這種操作僅僅是一個除以2

總結:

這條線是創造與價值14

1

C初始化一個整型變量是十六進制C這是12(十進制)。

在你的情況下,0x001C右移1

換句話說28(十進制),向右移動1位將是14(十進制)。

在二進制,

0...00 00011100 >> 00000001

使..

0...00 00001110(in binary)

那就是:14(十進制)或E(十六進制)