float invertieren

Gast #2205723
Lesenswert?

Hallo!

Wenn ich ein Ganzzahl (char, long, int) binär invertieren möchte geht 
das ganz einfach, indem ich ein Tilte ~ vorne anstelle.
Bei float wirft der Compiler jedoch eine Fehlermeldung.

Wie invertiere ich ein float Wert?

Danke für die Unterstützung!

Gruß
Inverter
Gast #2205745
Lesenswert?

Ich rede nicht von negieren, sondern invertieren. Das der Wert, der 
dahinter steht absoluter murks ist, ist mir bekannt. Das ganze hat einen 
anderen Zweck, den ich hier nicht näher erörtern kann.

Mach das jetzt über eine byte-Weise Invertierung unter Zuhilfenahme 
eines Byte-Pointers auf den ich die Adresse des float-Wertes caste.

Gibt es eine andere Alternative?
Gast #2205748
Lesenswert?

wenn du weißt wieviele kommastellen du hast, mit 1000 oder was auch 
immer wieviel kommastellen du hast -> dann kommst du auf ganzzahligen 
wert. dann speicherst du den wert als integer oder long integer ab. dann 
invertieren. dann wieder durch 1000 dividieren und in float speichern. 
wäre eine möglichkeit, jedoch kommt da nur müll raus denke ich^^
#2205754
Lesenswert?

Inverter schrieb:
> Das ganze hat einen
> anderen Zweck, den ich hier nicht näher erörtern kann.

Aha, wieder mal ne super geheime Verschlüsselung.

Inverter schrieb:
> Mach das jetzt über eine byte-Weise Invertierung unter Zuhilfenahme
> eines Byte-Pointers auf den ich die Adresse des float-Wertes caste.

Ein float hat aber 4 Byte, also auf (uint32_t*) casten.

Manche CPUs machen aber eine Exception, wenn ein float einen ungültigen 
Wert enthält.

Besser wäre daher eine Union aus einem float zum Rechen und einem 
uint32_t für Deine Verschlüsselung.


Peter
Gast #2205790
Lesenswert?

Eine float binär zu invertieren macht so überheupt keinen Sinn. Den 
einzigen potentiellen Sinn hat Peter genannt, irgendeine 
Verschlüsselung.
Wenn man wirklich eigene Verschlüsselungen bauen will (Macht vom Thema 
Sicherheit wenig Sinn), dann sollte man die Float auch sauber in einen 
Byte Stream konvertieren und den dann verschlüsseln. Dito eine saubere 
Rückkonvertierung vom Stream in den Float.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren