PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hilfe bei .batch rechner



Füzi
14.06.2010, 22:17
ich hab mir mal einen kleinen .batch rechner geschrieben

@echo off
title Batch Calculator by Fuezi
color 1f
:top
echo --------------------------------------------------------------
echo Welcome to Batch Calculator by Fuezi
echo --------------------------------------------------------------
echo.
set /p sum=
set /a ans=%sum%
echo.
echo = %ans%
echo --------------------------------------------------------------
pause
cls
echo Previous Answer: %ans%
goto top
pause
exit

nur ist mein problem jetzt dass er nur mit zahlen bis maximal 32bit rechnen kann


könnt ihr mir vll helfen den code zu verändern, dass er höhere zahlen auch packt?

KnechtRuprecht
20.06.2010, 10:07
Hey,
ich habe mir schon vor paar Tagen diesen Thread angeschaut,
aber keine Antwort gefunden.
Von C weiß ich, dass man die Zahlen mit verschiedenen Datentypen ausgeben,
zb long, long long etc.
Vielleicht ist das bei .bat genauso und du hast die Zahlen in "was weiß ich"
ausgegeben, aber dieser Datentyp geht nur bis 32 bit und deshalb musst du einen
anderen auswählen.
(Ich weiß selbst nicht, wie es geht, vielleicht geht es auch garnicht, aber ich hofffe,
dass ich dir trz ein bisschen weitergeholfen habe.

blackberry
20.06.2010, 11:53
@KnechtRuprecht
Wo definierst du bitte in Batch einen Datentyp? Batch ist nicht typisiert, da alle Variablen als Umgebungsvariablen gespeichert werden (d.h. als Strings)

@Füzi
Das Setzen und Verarbeiten von Umgebungsvariablen funktioniert ja über "set.exe". Das heißt um mit größeren Zahlen rechnen zu können brauchst du eine set.exe (könnte auch anders heißen), die solche Operationen unterstützt.
Das wiederum heißt: lern eine richtige Programmiersprache und schreibe dir so ein Programm (ginge theoretisch aber auch mit einer Skriptsprache, wenn du den Interpreter mit aufrufst).

Ist dir das zu kompliziert habe ich noch einen (nicht viel weniger komplizierteren) Vorschlag:
Schreib dir ein eigenes Engine für rechnen mit großen Zahlen in Batch selber.
Siehe dazu: Binary numeral system - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Binary_numeral_system#Binary_arithmetic)
Um Zahlen abzubilden könntest du Umgebungsvariablen wie folgt speichern:
%prefix%_0, %prefix%_1, %prefix%_2,...
Das Prefix kann dann immer neu gesetzt werden und als eigentliche Zahl gelten (so kannst du mehrere Zahlen auf einmal speichern)
Die einzelnen %prefix%_N enthalten dann die einzelnen Bits und die Grundrechenarten lassen sich relativ einfach mit obigem Link abbilden.

P.S. wenn du letzteres schafft könnte ich sogar meine Meinung ändern, dass Batch nur eine Kiddysprache ist :)

Füzi
20.06.2010, 15:01
also ich werds mal versuchen...kenn mich bei batch noch nicht so gut aus...^^