keskorian

Batch potenzieren

Hallo,

ich habe letztens versucht ein batch programm zum potenzieren von bestimmten basen zu schreiben und dazu folgenden Code verwendet:

@echo off
set a=1
set /p p=Exponent eingeben:
:a
if %a%==%p% goto 1
set /a e=75*%e%
set /a a=%a%+1
goto a

:1
echo %e%
pause

aus irgendeinem grund kommt aber ab p=20 eine negatives Ergebniss!
Kann mir hier jemand den Grund nennen (verzweifel langsam)

Danke im Vorraus
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 221808

Url: https://administrator.de/forum/batch-potenzieren-221808.html

Ausgedruckt am: 12.05.2025 um 09:05 Uhr

bastla
bastla 12.11.2013 aktualisiert um 22:53:15 Uhr
Goto Top
Hallo Keskorian und willkommen im Forum!

Abgesehen davon, dass in Deinem Beispiel die Variable %e% keinen Startwert erhält und sich die Schleife auch als Zählschleife der Art
for /L %%i in (1,1,%p%) do set /a e*=75
formulieren ließe, sind Berechnungen in Batch nur ganzzahlig im Bereich -2^31 bis 2^31-1 möglich (thematisiert zB auch hier) - was sich aber natürlich nicht erst bei 75 ^ 20 auswirkt ...

Grüße
bastla