Таким образом, dc - отличный инструмент для конвертации между базами, который удобен для тех задач, где нужно немного переворачивать код. например, чтобы преобразовать 1078 в двоичный файл, я могу сделать это:
bash> echo "2o1078p" | dc
10000110110
Однако я не могу заставить его правильно печатать дроби от 0 до 1.
Попытка преобразовать 0.3 в двоичный файл:
bash> echo "2o10k 0.3p" | dc
.0100
Но 0,0100 (корзина) = 0,25, а не 0,3.
Однако, если я создаю значение вручную, я получаю правильный ответ
bash> echo "2o10k 3 10 / p" | dc
.0100110011001100110011001100110011
Ну, похоже, это дает мне больше, чем 10 значащих цифр, которые я прошу, но это нормально
Я что-то не так делаю? Или я пытаюсь заставить dc делать то, чего не умеет?
bash> dc --version
dc (GNU bc 1.06) 1.3
...