Maximale Zahlengrösse in bash
Hallo! Habe gerade an eine Script gebastelt, das Dateigrössen in Bytes zusammen rechnet. Dabei kam es irgendwann zu solchen Ergebnissen: 1271469989 1642563651 2013657313 -1910216321 -1539122659 Könnte es sein, das ich Zahlen nur in 32bit breite darstellen kann? Gibt es eine Möglichkeit, das zu umgehen? -- mfg Peter Küchler Planungsverband Frankfurt Region Rhein Main
On Die, 17 Jul 2001 at 13:39 (+0200), Peter Kuechler wrote:
Habe gerade an eine Script gebastelt, das Dateigrössen in Bytes zusammen rechnet. Dabei kam es irgendwann zu solchen Ergebnissen:
1271469989 1642563651 2013657313 -1910216321 -1539122659
Könnte es sein, das ich Zahlen nur in 32bit breite darstellen kann? Gibt es eine Möglichkeit, das zu umgehen?
AFAIK in der Shell nicht, da sie nur mit Integer rechnet (oder Du wartest auf die 64-Bit-Linuxe ;-) Guck Dir mal dc (oder bc) an, zumindest bei dc ist explizit die Rede von *unlimited precision arithmetic*. Jan
* Jan Trippler schrieb am 17.Jul.2001:
Guck Dir mal dc (oder bc) an, zumindest bei dc ist explizit die Rede von *unlimited precision arithmetic*.
Also bc gibt, soweit ich es beurteilen kann, 2^1000000 exakt an. Das ist eine Zahl mit über 300000 Stellen. Ich schätze mal, das reicht. ;) Bernd -- LILO funktioniert nicht? Hast Du /etc/lilo.conf verändert und vergessen, lilo aufzurufen? Ist Deine /boot-Partition unter der 1024 Zylindergrenze? Bei anderen LILO Problemen mal in der SDB nachschauen: http://localhost/doc/sdb/de/html/rb_bootdisk.html |Zufallssignatur 6
On Tue, 17 Jul 2001, Bernd Brodesser wrote:
* Jan Trippler schrieb am 17.Jul.2001:
Guck Dir mal dc (oder bc) an, zumindest bei dc ist explizit die Rede von *unlimited precision arithmetic*.
Also bc gibt, soweit ich es beurteilen kann, 2^1000000 exakt an. Das ist eine Zahl mit über 300000 Stellen. Ich schätze mal, das reicht.
Ja, das reicht bei weitem. Jedenfalls fuer meine Vermoegensverhaeltnisse.;-)) Und ich glaubte, mein Rechner habe sich aufgehangen: Nein! Das dauert nur eine ganz schoen lange Zeit, bis da ein Ergebnis kommt. Alle Achtung! BTW: Ich verwende den BC sehr gerne und sehr oft fuer Waehrungsrechnen, muss aber jedesmal "scale=2" eingeben, damit er mir zwei Nachkommastellen anbietet. Gibt es irgendwie so etwas wie eine ".bcrc", in der ich das voreinstellen kann? Ich komme sonst noch glatt auf die Idee, die Sourcen abzuaendern. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
* Peter Blancke schrieb am 17.Jul.2001:
On Tue, 17 Jul 2001, Bernd Brodesser wrote:
Also bc gibt, soweit ich es beurteilen kann, 2^1000000 exakt an. Das ist eine Zahl mit über 300000 Stellen. Ich schätze mal, das reicht.
Und ich glaubte, mein Rechner habe sich aufgehangen: Nein! Das dauert nur eine ganz schoen lange Zeit, bis da ein Ergebnis kommt.
Alle Achtung!
:))
BTW: Ich verwende den BC sehr gerne und sehr oft fuer Waehrungsrechnen, muss aber jedesmal "scale=2" eingeben, damit er mir zwei Nachkommastellen anbietet. Gibt es irgendwie so etwas wie eine ".bcrc", in der ich das voreinstellen kann? Ich komme sonst noch glatt auf die Idee, die Sourcen abzuaendern.
Wenn Du in Deinem ~/.bashrc export BC_ENV_ARGS=~/.bcrc schreibst, so wird nach jedem aufrufen von bc zuerst ~/.bcrc ausgeführt. Siehe hierzu man bc Bernd -- Was ist quoten? Quoten ist das Zitieren aus einer mail, der man antwortet. Und wie macht man es richtig? Zitate werden mit "> " gekennzeichnet. Nicht mehr als nötig zitieren. Vor den Abschnitten das Zitat, auf das man sich bezieht, mit einer Zeile Abstand oben und unten. |Zufallssignatur 12
Hallo Peter, * Am 17.07.2001 um 13:39 Uhr schrieb Peter Kuechler:
Könnte es sein, das ich Zahlen nur in 32bit breite darstellen kann? Gibt es eine Möglichkeit, das zu umgehen?
yepp, schau Dir mal 'man bc' an ;-) Jürgen -- Wenn man vom Feind gelobt wird, hat man irgendetwas falsch gemacht. / Registered Linux-User #130804 http://counter.li.org \ \ Linux Stammtisch Bremerhaven http://linux.hs-bremerhaven.de /
participants (5)
-
B.Brodesser@t-online.de
-
Jan.Trippler@t-online.de
-
Juergen Schwarting
-
Peter Blancke
-
Peter Kuechler