Hallo Freunde, ich habe ein Problem: Ich schreibe mir gerade einen Algorithmus zur Umrechnung von Floats in IEEE754 und hänge nun in einer Schleife, wo eine falsche Berechnung rauskommt: vorkomma |= (0x01 * (2 ^ potenz)); Die Potenz ist anfangs '0', das heisst, dass das erste Bit (da (0x01 * 2^0) = 0x01) zu '1' gesetzt werden sollte...passiert aber nicht. Die Potenzrechnung funktioniert nicht. Er macht mir an dieser Stelle 0x01*2, beim nächsten 0x01*3...er addiert sie also. Ist meine Schreibweise falsch, oder fehlt mir ein #include oder ähbliches? Vielen Dank!
Du solltest deine Programmiersprache vor der Benutzung besser erst einmal lernen. ^ ist in C der Operator für "xor", nicht für "Potenzieren". Letzteren gibt es einfach nicht. (Es gibt die Funktion pow(), aber die arbeitet mit Gleitkommazahlen, nicht mit Ganzzahlen.) p.s.: 0x01 ist in diesem Zusammenhang eine sehr umständlich geschrie- bene Darstellung der Zahl 1, die in dieser Form und an dieser Stelle die Lesbarkeit und Verständlichkeit kaum fördert. Einen Ausdruck mit 1 zu multiplizieren ergibt schließlich nur wiederum den Ausdruck selbst.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.