8bit breiten Wert in 8 einzelne Bits umwandeln??
-
Hi,
habe schon im Bereich MFC geposted, zur Sicherheit auch noch mal hier.
Ich habe einen 8 Bit breiten Wert in einer Variable(ULONG) gespeichert.
Ich will aber nur ein einzelnes bit aus dem 8Bit breiten Wert haben.Wie komme ich da ran, kann man den 8Bit breiten Wert irgendwie in 8 einzelne Bits aufteilen.
Mit der suche habe ich leider nix gefunden.
Gruß Ronn
-
//ausgabe leider rückwärts do{ cout<<char('0'+x%2); x/=2; }while(x);
-
Aufteilen geht schon, aber was spricht gegen
ULONG i = /* Wert */; bool bit = i & (1 << /* Position */);?
-
Danke habe es mal mit dem zweiten Beispiel Versucht und ich kann es bei mir einbauen.
Danke.
-
std::bitset
-
recht komfortabel (aber nicht std-konform, glaube ich):
struct bit8 { unsigned char bit1 : 1; unsigned char bit1 : 2; unsigned char bit1 : 3; unsigned char bit1 : 4; unsigned char bit1 : 5; unsigned char bit1 : 6; unsigned char bit1 : 7; unsigned char bit1 : 8; } std::cout<<reinterpret_cast<bit8>(c).bitX + '0'<<std::endl;