В справочной странице 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
.Я оставлю это как есть, чтобы проиллюстрировать проблему.