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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 221808
Url: https://administrator.de/contentid/221808
Printed on: April 25, 2024 at 22:04 o'clock
1 Comment
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
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
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
Grüße
bastla