Правильный способ обозначить основание 10 (десятичное) в информатике

2110
user2018084

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

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

1
Вам не нужно обозначать базу. Если вы не укажете «base 16» или «base 2», предполагается, что он «base 10». Ramhound 9 лет назад 1
Некоторые языки обозначают Octal с ведущей 0. ChrisInEdmonton 9 лет назад 0
@ Ramhound Я знаю, что ты прав. Большинство предполагает, что это основание 10, и нет необходимости указывать это, однако я знаю, что есть способ явно обозначить основание 10. user2018084 9 лет назад 0
Тем, кто проголосовал против, я предполагаю две вещи: 1) Это не обязательно. Я знаю это, но я также знаю, что существует формальный способ явно обозначить базу 10 или 2) Вы предполагаете, что это тривиально найти его в Интернете, но я не смог найти его в Google, так что если вы могли бы потратить время на опубликовать ответ, пока вы понижаете голос, вы сделаете меня счастливым туристом! :) user2018084 9 лет назад 0
«Тривиально найти его в Интернете, но я не смог найти его в Google», не имеет смысла ... DavidPostill 9 лет назад 0
Синоним для числовой базы: * radix *. Я иногда видел десятичное число, указанное в числе с суффиксом «R10», например, 123R10. Но это было только в тексте, а не в языке программирования. sawdust 9 лет назад 0
Зачем? если найти его тривиально, вы сможете найти его самостоятельно: / DavidPostill 9 лет назад 0
Поскольку у вас есть Computer Science в названии вопроса, возможно, вы должны спросить об этом на [Computer Science Stack Exchange] (http://cs.stackexchange.com/) DavidPostill 9 лет назад 0
@ user2018084 - Я могу с уверенностью сказать, что вы не получаете отрицательных голосов, потому что формальный синоним хорошо известен или вы не проявили усилий. Ramhound 9 лет назад 0
Если вы пишете эссе или документацию, вы можете использовать индексную запись, если ваша типография это позволяет; или вы можете определить свою собственную нотацию, например, указав в префиксе «_В следующих примерах 0xNNN обозначает число в шестнадцатеричной записи, а 0dNNN обозначает число в десятичной записи_». В противном случае, если вам не нужно сокращенное представление, просто напишите `(основание 10)` в скобках после числа. В контексте программирования вы ограничены языком, который вы используете, но в письменном тексте вы можете использовать то, что, по вашему мнению, будет наиболее понятным для его получателей. AFH 9 лет назад 0

3 ответа на вопрос

2
DavidPostill

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

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

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

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


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

Так же, как запись суффикса "E" может заменить показатель степени, написанный как верхний индекс, я увидел суффикс "R" вместо нижнего индекса. sawdust 9 лет назад 0
1
LawrenceC

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

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

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

1
TOOGAM

Мне действительно очень нравится ответ от комментария Рэмхаунда. Если вы просто не указываете базу, общее предположение состоит в том, что это база 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.

Похожие вопросы