2x char -> double

Gast #2997866
Lesenswert?

Hallo,

ich habe Probleme mit einer Umwandlung.
Ich möchte 2 Charwerte in der Form <wert1><wert2> zusammen fassen. Dabei 
ist in wert1 das höherwertige byte. Bei dem zusammengefassten handelt es 
sich dann um ein unsigned Integer. Damit wird nun ein double geladen.
Leider sind alle meine Versuche darauf hinaus gelaufen das im Double am 
ende die signed interpreation meiner Zahl steht steht.
Ich schließe daraus das der Cast vom zusammengesetzten (u)int16 zu 
double nicht funktioniert. Habe schon viele Varianten ausprobiert die 
alle zum gleichen Ergebnis geführt haben.

Könnte mir jemand ein beispiel Zeigen wie man es richtig macht?
Danke
#2997960
Lesenswert?

Peter II schrieb:
> nein ist es nicht, es ist eventuell bei gcc irgendwo so. Im C standard
> ist es nicht definiert.

Das bedeutet aber nicht, dass es "undefined" ist. Der Standard sagt, es 
ist "implementation-defined", er reicht die Verantwortung also einfach 
weiter. Das bedeutet, dass die Signedness eines char sehr wohl immer 
definiert ist, nur eben nicht vom Standard, sondern vom jeweils 
verwendeten Compiler.

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