Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » "Bitzerlegung"

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.06.2005, 14:32 Uhr
~Fox
Gast


Also ich habe eine 32 Bit Zahl möchte in 3 Variablen (8,8,16 Bit) zerlegen. Wie realisiere ich das?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.06.2005, 14:39 Uhr
0xdeadbeef
Gott
(Operator)



C++:
int32_t a = 0xdeadbeef;
int first8bit = (a & 0xff000000) >> 24;
int second8bit = (a & 0x00ff0000) >> 16;
int last16bit = a & 0x0000ffff;


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
01.06.2005, 14:41 Uhr
virtual
Sexiest Bit alive
(Operator)


Duch marcos?

C++:
#define GIBBITS(zahl, von, bis)  (((zahl)>>(von))&((1<<((bis)-(von)))-1))
...

uint32_t zahl = 0x12345678
GIBBITS(zahl, 4, 20) == 0x4567



Ungetestet, aber Prinzip sollte klar sein.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)

Dieser Post wurde am 01.06.2005 um 14:42 Uhr von virtual editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: