1

Правильный способ обозначить гекс, или основание 16, состоит в том, чтобы добавить 0x

И наоборот, как правильно обозначать десятичную / основную 10?

3 ответа3

2

Как правильно обозначить десятичную / основание 10?

В математических системах счисления основание или основание - это число уникальных цифр, включая ноль, используемых для представления чисел в позиционной системе счисления. Например, для десятичной системы (самой распространенной системы, используемой сегодня) основание равно десяти, потому что она использует десять цифр от 0 до 9.

В любой позиционной системе счисления (кроме унарной, где основание равно 1), число x и его основание y обычно записываются как Несмотря на то, что для десятой базы обычно используется нижний индекс, а не записывается, так как это наиболее распространенный способ выражения значения. Например, (в десятичной системе) представляет число сто, а (в двоичной системе с основанием 2) представляет число четыре.

Исходный корень


дальнейшее чтение

2

Префикс 0 и 0x - это способ выражения восьмеричного / шестнадцатеричного языка программирования C, который стал популярным благодаря популярности и повсеместности языка C. Само это соглашение могло исходить из более ранних языков или соглашений.

Различные другие стандарты для выражения были использованы с течением времени. 6502 сборка с префиксом гекса с $ . Во многих сборках Z80 и ранних версий x86 вы увидите завершающий H Некоторые диалекты бейсика используют & или что-то вроде &H

Так что это будет зависеть от языка программирования, с которым вы работаете. Многие языки, особенно те, которые были созданы с конца 80-х или около того, используют стандарты С для вещей. Вне контекста языка программирования вы, вероятно, должны использовать математические стандарты обозначений или написать слово, обозначающее основание ("основание 10" или "десятичное число"), если это может привести к путанице.

1

Мне действительно очень нравится ответ от комментария Рэмхаунда. Если вы просто не указываете базу, общее предположение состоит в том, что это база 10.

Если вы хотите быть очень явным, вы можете использовать HTML « 5<SUB>10</SUB> » (или « 5<subUB>10</sub> » для тех, кто предпочитает строчный HTML), чтобы он отображался как «5 10 ». В тексте вы можете использовать "5 базы 10".

Обратите внимание, что 0x не является универсальным способом указания шестнадцатеричного значения. Префикс 0x используется языком C и другими языками, похожими на C. В типичной сборке x86 используется суффикс H (поэтому 0x768 в C - это то же самое, что 768H в сборке x86). Встроенное программирование: цифры говорят, что суффикс H предназначен для "языка ассемблера Intel и TI". На той же веб-странице отмечается, что для "языка ассемблера Freescale" синтаксис заключается в добавлении знака доллара (« $768 »).

На всех этих языках (C, сборка Intel и сборка Freescale) синтаксис для числа 10 должен просто указывать номер без специального префикса или суффикса.

Могут быть использованы другие методы (например, добавление подчеркивания с последующим радикальным значением, которое может быть проще набрать, чем полагаться на использование рендеринга шрифта с нижним индексом), или вы можете использовать любой другой пользовательский метод, который вы описали в начале написания / лекции / что угодно, но в конечном итоге, если вы не укажете что-то конкретное, люди будут склонны использовать свои предположения.

Часть общения - это знать свою аудиторию. (Это базовая теория связи, не ограничиваясь только компьютерами.) Если ваша аудитория включает группу программистов на C, то 0x подразумевает шестнадцатеричное. Если ваша аудитория этого не делает, то 0x768 выглядит как проблема умножения и равна нулю. Если вы взаимодействуете с группой людей, которые знакомы с определенным синтаксисом / языком / соглашением, используйте то, с чем они знакомы.

Искусство компьютерного программирования - это в основном способ донести идеи о том, что вы хотите, чтобы компьютер делал. Лучший способ общения - это использовать то, что ожидает аудитория. И, как вы можете видеть из нескольких комментариев здесь, общая традиция состоит в том, чтобы просто предполагать основание 10, если нет указания (например, обозначения типа "0xblah") или другой причины (например, контекст), чтобы полагать, что основа - это нечто другое.

Точно так же, как другой пример: если я вижу 99-10-12-16-23-20, то я автоматически не начинаю думать "18". Я начинаю думать, что это похоже на MAC-48 адрес сетевой карты, написанный в формате, используемом списком OUI IEEE и Microsoft Windows (а не Unix)... интересно, что в нем нет исключительно шестнадцатеричных цифр. Но если бы я ожидал сетевой адрес, то, вероятно, предположил бы, что это скорее шестнадцатеричные цифры.

Я видел, как преподаватели курсов на уровне колледжа иногда хотят написать несколько цифр и очень четко понять основы. В этих (не невероятно распространенных) ситуациях они обычно использовали запись нижнего индекса, если только они не знали, что почерк был небрежным, и в этом случае они также добавляли бы круглые скобки, как показано ответом, данным DavidPostill.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .