dc (Unix)

dc (Unix)

dc (ein Akronym für desk calculator) ist ein Rechenprogramm für Unix respektive Unix-Derivate. Es nutzt das Prinzip der umgekehrten polnischen Notation und ist eines der ältesten Unix-Tools - sogar älter als die Programmiersprache C. In der Praxis wird bc meistens dc vorgezogen, weil Nutzer Probleme mit der umgekehrt Polnischen Notation haben. Das Programm bc setzt auf dc auf.

Beispiele

Anmerkung: das p am Ende der Eingabe steht für print und gibt das Ergebnis, genauer das letzte Element des Stacks, aus. In den Beispielen wird das Ergebnis in der letzten Zeile mitaufgeführt. Alle Leerzeichen und -zeilen mit Ausnahme deren, die zwischen Ziffern stehen, sind optional. Die Syntax mag etwas eigenwillig erscheinen und unterscheidet sich grundlegend von der, die man beispielsweise in einen Taschenrechner eintippen würde. Das liegt daran, dass dc stack-basiert arbeitet. Das erste Beispiel würde verbal übersetzt lauten "schiebe (push) die beiden Elemente sechs und acht auf den Stack, entferne (pop) sie mit dem Multiplikations-Operator, multipliziere sie und schreibe das Ergebnis wieder auf den Stack, gib danach den Inhalt des Stacks auf den Bildschirm aus".

Multiplikation:
Berechnet 6 * 8

6 8 * p
48

Mehrere Rechenarten kombiniert:
Berechnet (12 + 3^4)/11-22:

12 3 4 ^ + 11 / 22 - p
-14

Register:
Neben Stacks können auch Register, sozusagen Stacks zweiter Ordnung, benutzt werden. Mit s<Name des Registers> (z.B. sc für das Register mit dem Namen c) werden Elemente darauf geschoben, mit l<Name des Registers> davon entfernt.
Das erste Beispiel mit Register statt mit Stacks:

6 sc 8 lc * p
48

Folgendes Beispiel berechnet (1 + 3)* 2 mit Hilfe eines Registers (m):

[1 + 2 *] sm
3 lm x p

Das x führt die Berechnung auf den Stack aus.

Es lassen sich mit dc auch Makros ausführen:

dc -e '[[Gib einen Wert in Meter an oder drücke 0 um zu beenden]psj]
sh[q]sz[lhx?d0=z10k39.370079*.5+0k12~1/rn[ Fuß ]Pn[ Zoll]P10Pdx]dx'

Hier wird nicht mehr die dc-eigene Shell verwendet sondern das Makro mit dem Schalter -e (für execute, dt. ausführen) an dc übergeben. Das Skript rechnet die Maßeinheit Meter in Fuß und Zoll um.

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем сделать НИР

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

  • UNIX — Ken Thompson und Dennis Ritchie Basisdaten Entwickler …   Deutsch Wikipedia

  • Unix — Kommandozeile (Unix Prompt) Basisdaten Entwickler Ken Thompso …   Deutsch Wikipedia

  • Unix — (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT T, entre los que figuran Ken Thompson, Dennis Ritchie y …   Wikipedia Español

  • UNIX — UNIX, parfois écrit « Unix », avec des petites capitales, est un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils… …   Wikipédia en Français

  • Unix — (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par …   Wikipédia en Français

  • Unix time — Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1 1970, not counting leap seconds. It is widely used not only on Unix like… …   Wikipedia

  • Unix-подобная операционная система — Генеалогическое дерево UNIX подобных ОС UNIX подобная операционная система (иногда сокр. *nix)  система, которая образовалась под влиянием UNIX. Термин включает свободные/открытые операционные системы, образованные от UNIX компании …   Википедия

  • UNIX — 〈[ju:nıx] EDV〉 Betriebssystem für Computer, das zum großen Teil in der Programmiersprache C geschrieben ist [engl.] * * * UNIX   [ursprünglich UNICS, Abk. für Uniplexed Information and Computing System, dt. »nicht multiplextes (vielseitiges)… …   Universal-Lexikon

  • UNIX-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Unix-Befehle — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”