Как обозначить разные системы счисления при наборе текста? - PullRequest
4 голосов
/ 21 сентября 2010

Я знаю, что это не совсем вопрос программирования, но он связан с предметом для меня.Как вы обозначаете различные системы счисления в тексте?(Под текстом я подразумеваю возможность печатать с нужной скоростью, а не копировать и вставлять его из другой программы.) Например, если у меня есть число в базе 2, как я могу набрать его, чтобы другие могли понять, что это число из базы 2.На бумаге вы можете сделать что-то вроде (1001) 2, где 2 - маленький индекс.Есть ли какой-то конкретный символ, который вы должны ввести перед цифрой 2, чтобы другие поняли его как индекс?(Экспонентация использует символ ^ для этого.) Или все это просто случайно, и в нем нет стандарта?

Ответы [ 5 ]

3 голосов
/ 21 сентября 2010

Соглашение во многих языках программирования:

0b1001

где «b» обозначает двоичный файл. Другие соглашения включают в себя, начиная с 0x для шестнадцатеричного и начиная с 0 (за которым следуют другие цифры) для восьмеричного.

2 голосов
/ 21 сентября 2010

Для шестнадцатеричного числа вы должны добавить к нему префикс 0x.

0xFF

Для двоичного файла: 0b

0b101

Для восьмеричного: 0o

0o44

В качестве альтернативы, будьте более явными?

dec(123)
hex(0AF)
bin(101)
oct(111)
1 голос
/ 21 сентября 2010

Соглашение, которое я видел, состоит в том, что, так же как каретка указывает на верхний индекс (как для возведения в степень), подчеркивание указывает на индекс. Так что самый «буквальный» способ перевести ваш пример в ASCII - это 1001_2. Я согласен с JacobM, хотя; префикс 0b недвусмысленен и вряд ли будет неправильно понят.

0 голосов
/ 21 сентября 2010

Обозначения для базы различаются в зависимости от языка программирования (как я говорил в комментарии к этому вопросу ).

  • Десятичная запись, как правило, используется по умолчанию (без специальной записи).
  • Шестнадцатеричный обычно имеет префикс # или 0x или использует суффикс h: 0xA0, #A0 или A0h.
  • Некоторые языки используют префикс 0 для представления восьмеричной нотации (например, 0777).
  • Двоичная нотация встречается реже (вместо нее часто используется шестнадцатеричная система, поскольку она делает нотацию более компактной и в итоге использует правильное заполнение для октетов). Однако вы можете использовать 0b1010 или 1010b. Опять же, это зависит от языка и от того, поддерживает ли его компилятор.

Все перечисленное зависит от языка программирования. Если это только для написания в тексте, любое из этих соглашений должно подойти. Конечно, если вы пишете книгу, не меняйте соглашение, которое вы используете в середине ...

0 голосов
/ 21 сентября 2010

Я думаю, что многое из этого будет зависеть от того, как / почему / что вы хотите сделать с данными в конце концов.чтобы напечатать, НО это могло бы быть неправильно истолковано кем-то незнакомым с примечанием.

...