olpo olpo schrieb:
> Die Frage ist jetzt, wie baue ich mir ein MYuint5, das 5 Bit groß ist?
>
> Ich kenne mich da nicht so aus.
> Oder muss ich uint8 nehmen? Und wenn ich uint8 nehmen muss, kann man
> dann ein Makro schreiben, dass die ersten 3 Bit immer 0 setzt?
Das klingt, als sei deine eigentliche Anforderung ein Typ, der bei
Werten größer 31 überläuft. Oder warum ist es sonst so wichtig, daß der
Typ exakt 5 Bit breit ist?
Man kann sich natürlich ein Makro schreiben:
1 | #define SCHNIPPEL_5BIT(x) ((x) & 0x1F)
|
aber das wirst du dann immer von Hand aufrufen müssen. Die Lösung von
Klaus geht, kann aber natürlich auch nicht zaubern und wird bei jeder
Berechnung einen gewissen Overhead bringen. Dafür geht die Begrenzung
auf 5 Bit automatisch.