Изменить входную базу в сценарии оболочки с помощью DC? - PullRequest
0 голосов
/ 14 октября 2011

Я пытаюсь изменить базу ввода и вывода, используя dc в сценарии оболочки. У меня проблемы с записью точной команды. У меня нет BASH.

Я пробовал варианты на это: (ввод нечувствительный) 2i 10o p | постоянный ток

1 Ответ

1 голос
/ 15 октября 2011

В справочной странице dc используется термин "основа", а не "основа";это может помочь вам в поиске информации.

Вы должны установить основание ввода перед , присвоив ему номер входа.Например:

echo 100 2i p | dc

печатает 100 (десятичное число), поскольку основание по-прежнему было установлено в значение по умолчанию 10 (десятичное число), когда dc увидел входное значение 100.

Попробуйте это:

echo 16i DEADBEEF 10o p 2o p | dc # but see below

Вывод:

DEADBEEF
11011110101011011011111011101111

Обратите внимание, что dc, кажется, требует прописных букв для шестнадцатеричных цифр A .. F.И вы должны быть осторожны с основополагающими характеристиками;после того, как вы сделали 16i, чтобы установить ввод в шестнадцатеричное, 10i интерпретирует 10 как шестнадцатеричное число и устанавливает основание ввода в 16 (и 16i пытается установить его в 0x16 или 22, что недопустимо).

На самом деле, я вижу, что столкнулся с этой проблемой сам.Я имел в виду установить выходной радиус 16. Я должен был написать Ao p 2o p вместо 10o p 2o p.Я оставлю это как есть, чтобы проиллюстрировать проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...