Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Operator Potenz (hoch)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.09.2002, 13:50 Uhr
e-Caf|Y|baB



Hallo,
gibt es einen Operator für Exponenten, also ein "hoch-Zeichen" ?
Und was macht der ^ Operator, der bei den meißten Taschenrechnern diese Aufgabe übernimmt.
MfG e-Caf
--
There are 10 types of people - those who understand binary and those who
don't.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.09.2002, 14:13 Uhr
e-Caf|Y|baB



Der ^ Operator scheint ja der richtige zu sein, aber warum ist:
2^0 = 2 // eigentlich 1
2^1 = 3 // eigentlich 2
*verzweifel*
--
There are 10 types of people - those who understand binary and those who
don't.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.09.2002, 15:49 Uhr
virtual
Sexiest Bit alive
(Operator)


Nein: der ^op ist kein Potenzoperator. Potenzieren kann man nur mir der Funktion pow aus "math.h" (bzw. "cmath"):

C++:
double a = 5.0;
double b = 2.3;
double e = pow(a, b);
printf("%g hoch %g ist %g\n", a, b, e);


Man kann natuerlich noch den <<op fuer das Potenzieren zur Basis zwei mit integern nehmen.

der ^op macht ein bitweises xor mit den Operatoren und gibt das Ergebnis zurück. Dh. im Ergebnis sind nur die Bits gesetzt, wenn nur genau einer der Operatoren das korrespondierende Bit gesetzt hat.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.09.2002, 10:56 Uhr
~0xdeadbeef
Gast


Das kann man allerdings auch ändern, zumindest in c++:


C++:
#include <math.h>

double operator^(double nBasis, double nExp) { return pow(nBasis, nExp); }

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.09.2002, 14:20 Uhr
virtual
Sexiest Bit alive
(Operator)


Ist aber ziemlicher missbrauch des Überladens: Man sollte einen Operator niemals so überladen, dass er der Semantik wiederspricht, die man sonst findet. Spaetestens, wenn Du irgendwelche Templates baust, kommst Du in Teufels kueche (ganz abgeehen davon, dass ein durchschnittlicher Programmierer weiss, dass ^ der XOR Operator ist, und durch diese Überladen in die Irre geführt wird):
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: