Batch hohe Zahlen darstellen?

3 Antworten

Batch kommen aus DOS-Zeiten mit 16 Bit Beschränkung.

Deshalb hat Microsoft doch schon ab Windows XP die

PowerShell eingeführt.

https://de.wikipedia.org/wiki/Windows_PowerShell

Vorteil gegenüber allen anderen Sprachen: keine Installation und keine Entwicklungsumgebung nötig (läuft garantiert auf jedem neuen PC ab WinXP)

Aber was sind für Dich "große Zahlen" genau?

Wie im Bild zu sehen, kann man 64 Bit Zahlen (19 stellig) ganz darstellen,

danach wird in double übliche Exponential-Schreibweise bis 1e307 umgestellt.

Ab Version 4 kann man auch BigInteger aus der .NET Welt nutzen, wo 10000stellige Zahlen möglich sind.

ABER bevor man neue PowerShell Version installiert, sollte man sich fragen, ob andere Ziel-Rechner das auch haben und ob nicht eine richtige EXE besser geeignet ist (also schneller Compiler wie kostenlose PureBasic).

PowerShell = Nachfolger von Batch - (Computer, Programm, programmieren)

Die meisten Programmiersprachen benutzen eine festgelegte interne Länge für Zahlen (z.B. 4 oder 8 Bytes). Wenn das Ergebnis einer Rechnung da nicht hineinpasst, kommt im besten Fall eine Fehlermeldung, im schlechteren Fall kommt Unsinn raus (wie in deinem Beispiel)

Python ist leicht zu lernen und hat diese Beschränkung nicht.
Da kannst du auch mit 500-stelligen Zahlen rechnen.

Vergiss batch, das taugt nichts... Ich hab als Jugendlicher unter windows 98 Text-Adventures in Batch geschrieben. Wenn ich damals gewusst hätte, wie schlecht das ist, und wie einfach und viel besser andere Scriptsprachen sind... 

Wahrscheinlich war das damals noch schlechter als jetzt, aber python, go und consorten sind taugen mehr... Wenn du was mit Mathe machst ist auch Haskell ziemlich toll, mir hat das die Augen geöffnet, als ich das angefangen habe zu verstehen.

questionanswer7 
Fragesteller
 13.03.2016, 17:14

Hi

Ich schreibe seit Jahren hobbymässig Batchprogramme und bisher habe ich immer das umsetzen können, was ich wollte.

Evtl. steige ich ja später mal auf was Anspruchvolleres um, aber momentan reicht mir batch plus genügend Kreativität vollkommen aus.

LG

0