Значения типа «0x6007» и «24583» предназначены для человека потребление. Они представляют собой текстовые представления числа и имеют смысл только для людей.
Что касается компьютера, то при работе с действительными числами он понимает только двоичный код (и даже там, только в абстрактном смысле & hellip, он буквально не хранит двоичные цифры 0 и 1).
Каждый раз, когда вы спросите компьютер, какое число он думает о, он будет конвертировать из этого бинарной основы представления в удобочитаемое представление (даже если бинарный & hellip; мы тщедушные люди не могут видеть от состояния бит в компьютере и попросить компьютер перевести их на визуальное представление).
Когда вы храните значение 0x6007
в (например) переменной short
, эта переменная содержит значение 0x6007
. Он также содержит значение 24583
. О, и он также содержит значение 110000000000111
(двоичный), а значение 60007
(восьмеричное) и даже значение 12287
(основание двенадцать). Потому что то, что хранит компьютер, не является ни одним из этих конкретных представлений чисел, а скорее его собственным внутренним представлением о величине, представляемом любым из этих человекочитаемых чисел.
Но они все одинаковые. И когда вы анализируете удобочитаемую строку, такую как «0x6007», вы получаете do именно это значение в переменной, в которую вы сохранили результат, т. Е. Внутреннее представление компьютера числа, имеющего такую же величину.
По умолчанию, если вы попросите компьютер рассказать вам, что это за значение, оно даст вам десятичное представление «24583». Но если вы хотите шестнадцатеричное представление, вам нужно только спросить красиво, и компьютер предоставит вам это вместо этого (например, переключите формат числового отображения в вашем отладчике или используйте спецификатор числового формата «X» в string.Format()
, Console.WriteLine()
и т. Д.), ,
«0x6007» представляет собой шестнадцатеричное представление 24583 (и '110000000000111' в двоичном формате :)) – EZI
Как сказано выше, 0x6007 = 24583. Вы хотите отобразить свой ответ в шестнадцатеричном формате? – Hayden
Да, я хочу, чтобы короткий var отображался в шестнадцатеричном формате, тогда :) – user3976173