2011-02-10 44 views
8

tôi thấy điều này trong một số mã? Kiểm tra một int lớn hơn 0x80. 0x80 là gì? Không phải là một int.num1> = 0x80 - 0x80 là gì?

Cảm ơn

+8

"Không phải là int". tại sao bạn nói như vậy? Hướng dẫn ngôn ngữ C# nói gì? Dấu. Đọc phần này: http://msdn.microsoft.com/en-us/library/aa664674(v=vs.71).aspx –

Trả lời

30

một số nguyên theo nghĩa đen - đó là hex số 80, đó là số thập phân 128. Các "0x" tiền tố cho thấy nó đang trong hex.

Để biết thêm chi tiết, hãy xem phần 2.4.4.2 của đặc tả ngôn ngữ C#: "Integer literals".

3

Đây là số hexadecimal.

+0

cảm ơn chỉnh sửa – duffymo

+0

Rất vui khi được phục vụ. Tôi đã thấy cùng một sai lầm trong hai câu trả lời và phải làm điều gì đó về nó. Ngoài ra, tôi muốn có huy hiệu vàng "Copy Editor";) –

+0

Cảm ơn tôi. Tôi không thể tin rằng tôi đã gõ. – recursive

7

Đó là chữ thập lục phân cho 128. Nó thực sự là một int. Mọi chữ bắt đầu bằng 0x là chữ thập lục phân.

0

0x... là ký hiệu thập lục phân của một số nguyên

0x80 = 128 
1

Các 0x tiền tố có nghĩa là nó thập lục phân, 0x80 có nghĩa là 128 trong hệ thập phân. Tương tự như vậy 128 sẽ có nghĩa là 0x80 trong hex. Vì vậy, điều này hoàn toàn hợp lệ:

int x = 0x80;