|
DC(1)
НАЗВАНИЕ
dc - настольный калькулятор
СИНТАКСИС
dc [файл]
ОПИСАНИЕ
Dc - пакет для арифметических вычислений с произвольной
точностью. Обычно он оперирует в десятичной системе
счисления с целыми числами, однако можно задать системы
счисления для ввода и вывода, а также точность вычислений. Общая структура dc - стековый калькулятор, использующий обратную польскую запись. [См. также bc(1)
- препроцессор для dc, поддерживающий инфиксную нотацию
и C-подобный синтаксис.] Если аргумент указан, то сначала ввод производится из файла, а потом со стандартного ввода.
Dc распознает следующие конструкции:
| число | Значение числа помещается в стек. Число - непрерывная цепочка цифр 0-9. В начале ее может стоять знак подчеркивания _ для ввода отрицательного числа. Число может содержать десятичную точку.
|
|---|
| + - / * % ^ | Верхние два числа стека складываются (+), вычитаются (-), умножаются (*), делятся (/), берется остаток (%) или выполняется возведение в степень. Оба операнда извлекаются из стека и результат помещается обратно в стек. Дробная часть показателя степени игнорируется.
|
|---|
| sx | Извлекается вершина стека и помещается в регистр с именем x, где x - любой символ. Если конструкция имеет вид Sx, то x рассматривается как стек, в который и помещается извлеченное значение.
|
|---|
| lx | Значение, хранящееся в регистре x, помещается в стек. Регистр x не изменяется. Изначально все регистры инициализируются нулем. Если конструкция имеет вид Lx, то x рассматривается как стек, его вершина извлекается и помещается в главный стек.
|
|---|
| d | Вершина стека удваивается.
|
|---|
| p | Выводится вершина стека (без удаления из стека).
|
|---|
| P | Вершина стека трактуется как цепочка символов, печатается и удаляется из стека.
|
|---|
| f | Выводятся все элементы стека (без удаления).
|
|---|
| q | Завершает работу программы. При выполнении цепочки символов уровень рекурсии уменьшается на два.
|
|---|
| Q | Завершает работу программы. Вершина стека извлекается и уровень рекурсии уменьшается на полученное значение.
|
|---|
| x | Вершина стека трактуется как цепочка символов, содержащая dc-команды, и выполняется.
|
|---|
| X | Вершина стека заменяется количеством цифр в ее дробной части.
|
|---|
| [..] | Цепочка символов, заключенная в скобки, помещается в вершину стека.
|
|---|
x =x | Два верхних элемента стека извлекаются и сравниваются. Если они удовлетворяют указанному условию, то содержимое регистра x рассматривается как команда dc и выполняется.
| | v | Верхний элемент стека заменяется квадратным корнем из него. Если он имел дробную часть, то она учитывается; в противном случае точность вычислений (см. команду k) игнорируется.
|
|---|
| ! | Остаток строки интерпретируется как команда shell'а.
|
|---|
| c | Очистка стека.
|
|---|
| i | Вершина стека извлекается и используется как основание системы счисления при вводе. Команда I помещает используемое при вводе основание системы счисления в вершину стека.
|
|---|
| o | Вершина стека извлекается и используется как основание системы счисления при выводе. Команда O помещает используемое при выводе основание системы счисления в вершину стека.
|
|---|
| k | Извлекается вершина стека; она используется для задания точности вычислений: количества знаков в дробной части при выводе и при выполнении умножения, деления и возведения в степень.
|
|---|
| z | В стек помещается количество его элементов.
|
|---|
| Z | Число в вершине стека заменяется его длиной (без учета десятичной точки и знака минус).
|
|---|
| ? | Со стандартного ввода вводится одна строка и исполняется.
|
|---|
| ;: | Используются утилитой bc(1) для операций с массивами.
|
|---|
|
|---|
ПРИМЕР
Вывести факториалы первых 10 натуральных чисел:
[la1+dsa*pla10>y]sy
0sa1
lyx
СМ. ТАКЖЕ
bc(1).
ДИАГНОСТИКА
x is unimplemented
(где x - восьмеричное число). Операция, обозначен-
ная символом с кодом x, не реализована.
stack empty
В стеке меньше элементов, чем требуется.
Out space
Слишком длинное число.
Out of headers
Слишком много чисел приходится хранить одновремен-
но.
Out of pushdown
Стек переполнен.
Nesting depth
Слишком большой уровень вложенности при выполне-
нии.
|
 |
 |
|
Новости мира IT:
- 02.02 - Apple задумала выпустить iPhone в формате «раскладушки»
- 02.02 - Соцсети вскоре столкнутся с массовыми набегами ИИ-агентов, предупредили учёные
- 02.02 - Обещанная Павлом Дуровым интеграция Grok c Telegram до сих пор не случилась и, похоже, уже никогда не случится
- 02.02 - Запустилась соцсеть Moltbook, где общаются только ИИ-агенты — людям разрешили только наблюдать
- 29.01 - Линус Торвальдс принял план передачи управления репозиторием ядра Linux в непредвиденных ситуациях
- 29.01 - ИИ-стартап Илона Маска xAI получит $2 млрд от Tesla до конца марта
- 29.01 - Бигтехи снова забрасывают OpenAI деньгами — Nvidia, Microsoft и Amazon обсуждают инвестиции на $60 млрд
- 29.01 - Samsung утроила квартальную прибыль до рекордных $14 млрд, но по итогам года впервые уступила SK hynix
- 29.01 - Google заплатит $135 млн за тайный сбор данных пользователей Android и больше не будет «шпионить» без спроса
- 26.01 - Представлен смартфон NexPhone, совмещающий Android, Debian и Windows
- 26.01 - Российская команда Parivision сенсационно выиграла первый крупный турнир года по Counter-Strike 2
- 26.01 - Стоимость акций Sandisk неожиданно взлетела на 1000 % всего за несколько месяцев
- 26.01 - Россияне столкнулись с массовым сбоем сервисов, позволявших обходить ограничения мобильного интернета
- 20.01 - Организация Open Quantum Design работает над проектом по созданию открытого квантового компьютера
- 20.01 - Роскомнадзор заявил об удвоении количества DDoS-атак в 2025 году
- 20.01 - В Яндекс Картах теперь можно делиться геопозицией с близкими
- 20.01 - OpenAI пообещала практический ИИ уже в этом году — и похвалилась выручкой в $20 млрд за прошлый
- 20.01 - Роскомнадзор разогнал блокировки на 59 % в прошлом году — под запрет попали 1,3 млн материалов
- 14.01 - Компания Anthropic выделила 1.5 млн долларов проекту Python
- 14.01 - Состоялся релиз Firefox 147
Архив новостей
|
 |
 |
 |
|
|
 |
 |
 |
|
|
|
 |
 |
|