Hi, für eine Gleitkommadarstellung habe ich ein 16-Bit Wert (32 war mir zu lang). diesen möchte ich jetzt für arithmetische Funktionen zerlegen. Meine Frage ist nun, ob dies einfacher geht, als zu schauen, ob z.B. das erste Bit gesetzt ist, indem man guckt, ob die Zahl kleiner ist als 32768. Bzw. kann man vielleicht sogar bits "rauskopieren"? Also Stellen z.B. 1-8 in einen 8bit-int reinschreiben??? Vielen Dank schon einmal im Voraus, Ozzy
Das ist in C einfach: uint16_t wert; uint8_t einbyte; if (wert & (1 << 15)) puts("Bit 15 gesetzt\n"); if (wert & (1 << 13)) puts("Bit 13 gesetzt\"); einbyte = wert & 0xFF;
Hi, vielen Dank für Deine Antwort! Kannst Du mir auch sagen, wie ich solche Werte shiften kann? Also z.B. 3x nach rechts? Und das eleganter als 3x durch 2 zu teilen??? MfG, Ozzy
Christoph O. wrote: > Hi, > > vielen Dank für Deine Antwort! Kannst Du mir auch sagen, wie ich solche > Werte shiften kann? Also z.B. 3x nach rechts? Und das eleganter als 3x > durch 2 zu teilen??? Ist das eine Fangfrage? wenn << shiften nach links bedeutet, was wird dann wohl das Zeichen für 'Shiften nach rechts' sein? Genau: >>
Hi, nein, das sollte keine Fangfrage sein. Ist das dann einfach (wert<<3) ist linksshift um 3? MfG, Ozzy
@Christoph Das solltest du dir mal anschauen: http://www.amazon.de/f%C3%BCr-Dummies-So-lernen-Sie-hohe/dp/3826629434
mach ne struktur, wo du zusätzlich zum wort, die einzelnen bits nochmals separat als variablen definierst, ist das einfachste und schnellste wenn dus oft brauchst...
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.