<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dc_%28Unix%29</id>
	<title>Dc (Unix) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Dc_%28Unix%29"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dc_(Unix)&amp;action=history"/>
	<updated>2026-05-28T15:24:49Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Dc_(Unix)&amp;diff=601145&amp;oldid=prev</id>
		<title>imported&gt;Micha4.Vers3: /* Register */-e ist die Kurzform für --expression (https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html)</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Dc_(Unix)&amp;diff=601145&amp;oldid=prev"/>
		<updated>2024-02-25T08:52:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Register: &lt;/span&gt;-e ist die Kurzform für --expression (https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{SEITENTITEL:dc (Unix)}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;dc&amp;#039;&amp;#039;&amp;#039; (ein [[Akronym]] für &amp;#039;&amp;#039;desk calculator&amp;#039;&amp;#039;) ist ein Rechenprogramm für [[Unix]] respektive [[Unix-Derivat]]e. Es nutzt das Prinzip der [[Umgekehrte polnische Notation|umgekehrten polnischen Notation]] und ist eines der ältesten Unix-Tools – sogar älter als die [[Programmiersprache]] [[C (Programmiersprache)|C]]. In der Praxis wird [[Basic Calculator|bc]] meistens dc vorgezogen, weil Nutzer Probleme mit der umgekehrten polnischen Notation haben. Das Programm bc setzt in der [[POSIX]]-Variante auf dc auf (die [[GNU]]-Variante wurde neu entwickelt). Erste Versionen sowohl von dc als auch von bc wurden von [[Lorinda Cherry]] bei den [[Bell Laboratories|Bell Labs]] entwickelt.&lt;br /&gt;
&lt;br /&gt;
== Beispiele ==&lt;br /&gt;
Anmerkung: das &amp;lt;code&amp;gt;p&amp;lt;/code&amp;gt; am Ende der Eingabe steht für &amp;#039;&amp;#039;print&amp;#039;&amp;#039; und gibt das Ergebnis, genauer das oberste Element des Stacks, aus. In den Beispielen wird das Ergebnis in der letzten Zeile mit aufgeführt. Alle Leerzeichen und -zeilen mit Ausnahme derer, 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 (ältere [[Programmierbarer Taschenrechner|programmierbare Taschenrechner]] der Firma [[Hewlett_Packard_Enterprise|Hewlett Packard]] wie z.&amp;amp;nbsp;B. der [[HP-41C]] funktionierten auch so). Das liegt daran, dass dc [[Stapelspeicher|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“.&lt;br /&gt;
&lt;br /&gt;
Multiplikation:&lt;br /&gt;
Berechnet &amp;lt;math&amp;gt;6 \cdot 8&amp;lt;/math&amp;gt;&lt;br /&gt;
 6 8 * p&lt;br /&gt;
 48&lt;br /&gt;
&lt;br /&gt;
Mehrere Rechenarten kombiniert:&lt;br /&gt;
Berechnet &amp;lt;math&amp;gt;\sqrt{\left(12 + \left(-3\right)^4\right)\over11}-22&amp;lt;/math&amp;gt;:&lt;br /&gt;
 12 _3 4 ^ + 11 / v 22 - p&lt;br /&gt;
 -20&lt;br /&gt;
&lt;br /&gt;
=== Register ===&lt;br /&gt;
Neben dem Stack können auch Register benutzt werden. Mit &amp;lt;code&amp;gt;s&amp;lt;/code&amp;gt;&amp;amp;lt;&amp;#039;&amp;#039;Name des Registers&amp;#039;&amp;#039;&amp;amp;gt; (z.&amp;amp;nbsp;B. &amp;lt;code&amp;gt;sc&amp;lt;/code&amp;gt; für das Register mit dem Namen c) werden Werte darin gespeichert (s = {{enS|store|de=speichern}}), mit &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&amp;amp;lt;&amp;#039;&amp;#039;Name des Registers&amp;#039;&amp;#039;&amp;amp;gt; daraus geholt (l = {{enS|load|de=laden}}).&lt;br /&gt;
Das erste Beispiel mit Register:&lt;br /&gt;
 8 sc 6 lc * p&lt;br /&gt;
 48&lt;br /&gt;
Der einzelne Wert in einem Register ist genau genommen das oberste Element eines ganzen Stack:&lt;br /&gt;
&amp;lt;code&amp;gt;Sc&amp;lt;/code&amp;gt; schiebt einen Wert auf den Stack des Registers &amp;lt;code&amp;gt;c&amp;lt;/code&amp;gt;,&lt;br /&gt;
und &amp;lt;code&amp;gt;Lc&amp;lt;/code&amp;gt; entfernt einen Wert von dort (und legt ihn auf den anonymen Stack):&lt;br /&gt;
 8 Sc 6 Lc * p&lt;br /&gt;
 48&lt;br /&gt;
&lt;br /&gt;
Mit eckigen Klammern werden [[Zeichenkette]]n gebildet. Sie können auch in Registern gespeichert werden. Folgendes Beispiel berechnet &amp;lt;math&amp;gt;( 3 + 1) \cdot 2&amp;lt;/math&amp;gt;&amp;lt;!-- (3 + 1)* 2--&amp;gt; mit Hilfe eines Registers (m):&lt;br /&gt;
 [1 + 2 *] sm&lt;br /&gt;
 3 lm x p&lt;br /&gt;
 8&lt;br /&gt;
Das &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; führt die Berechnung aus, die im obersten Stack-Wert steht.&lt;br /&gt;
&lt;br /&gt;
Es lassen sich mit dc auch Makros ausführen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dc -e &amp;#039;[[Gib einen Wert in Meter an oder drücke 0 um zu beenden]psj]&lt;br /&gt;
sh[q]sz[lhx?d0=z10k39.370079*.5+0k12~1/rn[ Fuß ]Pn[ Zoll]P10Pdx]dx&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier wird nicht mehr die dc-eigene Shell verwendet, sondern das Makro mit dem Schalter &amp;#039;&amp;#039;-e&amp;#039;&amp;#039; (für {{enS|expression|de=Ausdruck}}) an dc übergeben. Das Skript rechnet die Maßeinheit [[Meter]] in [[Fuß (Einheit)|Fuß]] und [[Zoll (Einheit)|Zoll]] um.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* {{man|1|dc|bsd|desk calculator}}&lt;br /&gt;
* {{man|1|dc|gnu|an arbitrary precision calculator}}&lt;br /&gt;
* [http://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html dc, an arbitrary precision calculator], englische Beschreibung der GNU-Variante&lt;br /&gt;
* {{Heise online |ID=6481093 |Titel=&amp;quot;He who touched it last, owned it&amp;quot;: Zum Tode der Unix-Pionierin Lorinda Cherry |Autor=Detlef Borchers |Datum=2022-02-17 |Abruf=2022-02-17 |Zitat=[[Lorinda Cherry]] war bereits in der ersten Unix-Version vom November 1971 mit dem Programm dc (Desk Calculator) vertreten. Damit begann ihre rege Tätigkeit.}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Freie Mathematik-Software]]&lt;br /&gt;
[[Kategorie:Unix-Software]]&lt;br /&gt;
[[Kategorie:Konkatenative Programmiersprache]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Micha4.Vers3</name></author>
	</entry>
</feed>