2011-02-10 963 views
8

我在某些代碼中看到了這個?檢查一個int是否大於0x80。什麼是0x80?不是一個整數。num1> = 0x80 - 什麼是0x80?

由於

+8

「不是int」。你爲什麼這麼說? C#語言手冊說了什麼?暗示。閱讀此:http://msdn.microsoft.com/en-us/library/aa664674(v=vs.71).aspx – 2011-02-10 16:13:16

回答

30

的整數字面 - 它是十六進制數80,這是十進制的128.前綴「0x」表示它在十六進制之中。

有關更多詳細信息,請參閱C#語言規範的第2.4.4.2節:"Integer literals"

7

這是128位的十六進制文字。它實際上是一個int。任何以0x開頭的文字都是十六進制文字。

0

0x...是整數

0x80 = 128 
1

前綴0X意味着它是十六進制的十六進制表示法,0x80的裝置在十進制128。同樣,128表示十六進制中的0x80。所以這是完全有效的:

int x = 0x80; 
相關問題