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
Einen Float Wert binär zu invertieren macht keinen Sinn, Du müsstes schon mal erklären was Du erreichen willst. Aber Du kannst den Float Wert negieren, einfach mit einem (-) Minus Zeichen!
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?
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^^
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
Das mit dem union ist ein guter Tipp. @Rico: Danke für deine Antwort. - Aber ich glaube du hast die Fragestellung nicht richtig verstanden.... ;)
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.
Byte Stream => Meiner Lösung mit byte-Pointer und sequentieller byteweisen Invertierung.
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.