2011-02-10 2 views
8

Я вижу это в некотором коде? Проверяет, что int больше 0x80. Что такое 0x80? Это не int.num1> = 0x80 - Что такое 0x80?

Благодаря

+8

«Не является инт.»? Почему ты это сказал? Что говорит инструкция на языке C#? Подсказка. Прочтите это: http://msdn.microsoft.com/en-us/library/aa664674(v=vs.71).aspx –

ответ

30

Это является целое буквальное - это шестнадцатеричное число 80, которое является десятичным 128. Приставка «0x» указывает на то, что, находясь в шестнадцатеричном формате.

Для получения дополнительной информации см. Раздел 2.4.4.2 спецификации языка C#: "Integer literals".

3

Это номер hexadecimal.

+0

спасибо за исправление – duffymo

+0

Рад быть полезным. Я видел ту же ошибку в двух ответах и ​​должен был что-то сделать. Кроме того, я хочу, чтобы золотой значок «Копировать редактор»;) –

+0

Спасибо тоже. Я не могу поверить, что набрал это. – recursive

7

Это шестнадцатеричный литерал для 128. На самом деле это int. Любой литерал, начинающийся с 0x, представляет собой шестнадцатеричный литерал.

0

0x... является шестнадцатеричной записью целого числа

0x80 = 128 
1

префикса 0x означает, что это шестнадцатеричный, 0x80 означает 128 в десятичной системе. Аналогично, 128 будет означать 0x80 в шестнадцатеричном формате. Так что это совершенно верно:

int x = 0x80; 
Смежные вопросы