Diese böden Bits

Hallo Alle,
Sagt mal, ist das hier

inline void setFlag(int& value, int flag, bool set)
{
if (set)
value |= flag;
else
value &= ~flag;
}

inline bool getFlag(int& value, int flag)
{
return (value & flag) != 0;
}

ok? Oder steckt hier der Fehler?
Chris

Hallo Chris,

wenn die Werte 16bit- oder 32bit-Binärwerte (Compilerabhängig) sein sollen sollen mit Value = 1,2,4,8 usw. müsste das schon richtig sein. Ein value von 3 funktioniert zwar auch, gibt aber keinen rechten Sinn.

Das MSB sollte dabei nicht verwendet werden - für Binärwerte sollte eigentlich unsigned int richtig sein.

Gruss Reinhard

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke o.T.
.