constricta

Batch Rechenbefehle

Ich möchte in einer Batch gerne sachen berechnen, darunter auch hochzahlen! geht sowas? wenn ja wie?

wäre nett wenn wer alle rechenoperatoren aufschreiben könnte.
lg

edit:
ok wie mit einem taschenrechner "^" aber wie rechnet man zb.:

1*2^7 ? da kommt 27 raus?!
lg
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 109418

Url: https://administrator.de/forum/batch-rechenbefehle-109418.html

Ausgedruckt am: 21.05.2025 um 19:05 Uhr

bastla
bastla 18.02.2009 um 21:38:13 Uhr
Goto Top
Hallo ConsTricTa!
ok wie mit einem taschenrechner "^"
Mitnichten - die entsprechende Funktion musst Du selber bauen:
@echo off & setlocal
set /a Basis=2
set /a Exponent=7

set /a Potenz=1
for /L %%i in (1,1,%Exponent%) do set /a Potenz*=Basis
echo %Potenz%
wäre nett wenn wer alle rechenoperatoren aufschreiben könnte.
set /?

Um aber noch "2^7" aufzuklären:
Ein einzelnes "^" maskiert das folgende Zeichen (und weist damit den Interpreter an, dieses Zeichen eben nicht zu interpretieren, sondern als gewöhnliches Zeichen zu betrachten) - was für 7 keinen Unterschied macht.

Wenn Du tatsächlich die Batch-Operation "2^7" ausführen willst, musst Du daher entweder schreiben
set /a 2^^7
oder
set /a "2^7"
und erhältst dann das richtige Ergebnis 5.

Warum 5? Wie der Hilfe zu entnehmen ist, wird mit "^" eine XOR-Operation druchgeführt, also:
    2 = 00000010
XOR 7 = 00000111
    -   --------
    5 = 00000101
    =   ========
Grüße
bastla
ConsTricTa
ConsTricTa 18.02.2009 um 22:19:09 Uhr
Goto Top
vielen dank für deine schnellen und hilfreichen antworten!!! super erklärt! das versteh ich.

nur diese XOR sachen werd ich nie checken -.-
hier werden die zahlen in binärzahlen umgewandelt und addiert! aber wie genau rechnet er hier und warum?!
lg
bastla
bastla 18.02.2009 um 22:22:47 Uhr
Goto Top
Hallo ConsTricTa!

XOR bedeutet: "Vergleiche bitweise, wobei zwei gleiche Bits (also beide 0 oder beide 1) ein Bit 0 ergeben, zwei ungleiche Bits ergeben 1."

Grüße
bastla