2012-03-02 313 views
9

我總是教0-9代表0到9的數值,A,B,C,D,E,F代表10-15。0x00000000十六進制?

我看到這種格式0x00000000,它不適合十六進制的模式。有沒有可以解釋它的指導或導師?

我google了十六進制,但我找不到任何解釋。

所以我的第二個問題是,是否有一個名稱爲0x00000000格式?

+2

'0x0000'是一個十六進制數字。 '0x'表示它應該以16進制計算而不是10進制。沒有它,你不知道15是十進制還是十六進制(或八進制)。那是你想知道的嗎? – 2012-03-02 20:28:03

+0

是否有一個特定格式的名稱,或者我必須在谷歌鍵入十六進制希望格式將顯示? – nhat 2012-03-02 20:38:49

+1

@nhat'0x'是一個標準的十六進制前綴,它只是告訴你下面的數字將以十六進制表示。谷歌搜索不應該是必要的(只是採取你知道的十六進制,並記住該前綴) – jzworkman 2012-03-02 20:56:18

回答

12

0X簡單地告訴你號碼後它會在十六進制

所以0x00爲0,0x10的是16,0×11是17等

+0

好吧,如果它走了1秒,爲什麼0x0080 = 128? – nhat 2012-03-02 20:47:07

+0

@nhat它不去,每個地方的因素是16,所以你的情況是8 * 16或128,因爲8是在16的地方。 – jzworkman 2012-03-02 20:49:15

+0

我注意到0x00000080 = 0x0080。格式化讓我感到困惑,但在看了這些之後,它開始變得更有意義。 – nhat 2012-03-05 14:56:42

9

0x只是一個前綴(在C和許多其他的編程語言中使用)來表示,以下數目是在基座16已被用於十六進制

其它符號包括:

$ABCD 
ABCDh 
X'ABCD' 
"ABCD"X 
+0

很酷,感謝您的信息。從未看過這些格式。有沒有從你那裏學到的特定網站? – nhat 2012-03-02 20:40:44

+0

在那裏甚至有互聯網之前,我曾與*所有*這些符號。所以,沒有特定的網站。 – 2012-03-02 20:43:54

+1

哈哈酷很感謝! – nhat 2012-03-02 20:50:13

1

十六進制數字s通常以0x開頭,表示它們是十六進制數字。 在這種情況下,有8位數字,每個數字代表4位,所以它是32位或一個字。我「猜你在一個錯誤看到這個,這是一個內存地址。這個值是指空,爲十六進制值是x 0後

3

一切是十六進制數字(在0X只是指定一個前綴十六進制),代表32位(如果你把0xFFFFFFFF的二進制,這將是1111 1111 1111 1111 1111 1111 1111 1111)。

3

是的,這是十六進制數。

否則,你不能代表例如:A,C和Java的編譯器會把它當作變量標識符,添加的前綴0x告訴編譯器它是十六進制數,所以:

int ten_i = 10; 
int ten_h = 0xA; 

ten_i == ten_h; // this boolean expression is true 

的前導零指示大小0x0080暗示數將被存儲在字節;和0x00000080代表四個字節。這種標記通常用於標記:如果設置了某個位,則啓用該功能。

P.S.作爲一個離題話單:如果號碼以0開頭,則它被解釋爲八進制數字,例如010 == 8。這裏0也是一個前綴。