bc: Unterschied zwischen den Versionen
Michi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Michi (Diskussion | Beiträge) |
||
Zeile 40: | Zeile 40: | ||
<b>quit</b> | <b>quit</b> | ||
Aufruf von bc zum Rechnen mit Fliesskommazahlen. | Aufruf von bc zum Rechnen mit Fliesskommazahlen. Es wird standardmässig mit einer Genauigkeit von 20 Stellen hinter dem Komma gerechnet. | ||
$ <b>bc -l</b> | $ <b>bc -l</b> | ||
Zeile 79: | Zeile 79: | ||
<b>scale=23</b> | <b>scale=23</b> | ||
<b>1/2</b> | <b>1/2</b> | ||
.50000000000000000000000 | |||
$ <b>echo "scale=4; 2 /4" | bc -l</b> | |||
.50000000000000000000000 | .50000000000000000000000 | ||
Version vom 25. Mai 2021, 16:24 Uhr
Der Shell-Befehl bc (basic calculator) beherrscht auf der Shell das Rechnen mit Fliesskommazahlen.
Konzept
bc rechnet standardmässig im Dezimalsystem.
bc speichert alle Befehle in einer History, die mit Hilfe der Pfeiltasten angesehen werden kann.
Beim Dividieren treten bei bc Rundungsfehler auf wie bei allen Programmen, die mit einer festen Anzahl von Nachkommazahlen arbeiten. Die Berechnung von "1/3*3" ergibt "0.99999..." (mit so vielen Neunen wie Nachkommastellen verwendet werden), während der mathematisch gleiche Ausdruck "1/(3/3)" richtig den Wert "1" ergibt.
Für kompliziertere Aufgaben können aus der Programmiersprache C bekannte Kontrollstrukturen verwendet werden, darunter die for-Schleife.
Syntax
+ | Addition |
- | Subtraktion |
* | Multiplikation |
/ | Division |
^ | Exponential-Operator |
Verwendung
Aufruf von bc zum Rechnen mit Ganzzahlen. Zum Beenden des Programms kann "quit" oder die Tastenkombination CTRL+D eingegeben werden.
$ bc bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. (1.1+2)*2 6.2 1/2 0 quit
Aufruf von bc zum Rechnen mit Fliesskommazahlen. Es wird standardmässig mit einer Genauigkeit von 20 Stellen hinter dem Komma gerechnet.
$ bc -l bc 1.06.95 Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc. This is free software with ABSOLUTELY NO WARRANTY. For details type `warranty'. 1/2 .50000000000000000000
Eingabe mehrerer Aufgaben hintereinander.
1.1+2; 3.1-2 3.1 1.1
Setzen, Anzeigen und Verwendung von Variablen.
a=201; b=300 a 201 b 300 a*b 60300 a+b 501 a + -b -99 -a -201
Einstellen der Nachkommastellen im laufenden Betrieb.
scale=2 1/2 .50 scale=23 1/2 .50000000000000000000000
$ echo "scale=4; 2 /4" | bc -l .5000
Anzeige der Quadratwurzel (engl. square root).
sqrt(144) 12
Rechnen im Hexadezimalsystem (mit der Basisi 16) anstelle des standardmässigen Dezimalsystems und Zurückschalten ins Dezimalsystem.
ibase 10 ibase=16 A 10 ibase=A 10 10
Ausgabe im Hexadezimalsystem und Zurücksetzen der Ausgabe ins Dezimalsystem. Im Beispiel wird der hexadezimale Wert für den Wert "15" angezeigt.
obase=16 15 F obase=10 15 15
Ausgabe der Quadratzahlen von 1 bis 3.
for (i=1; i<=3; i++) print i^2,"\n"; 1 4 9
Weitergabe einer Aufgabe in der Bash mittels Pipe-Zeichen an bc.
$ echo "1/3" | bc -l .33333333333333333333 $ a=2; b=3; x=$(echo "$a*$b" | bc -l); echo $x 6
Weblinks
Herausgeber | Sprache | Webseitentitel | Anmerkungen |
---|---|---|---|
Wikipedia | ger | Basic Calculatorwbm | Enzyklopädischer Artikel |