Gast
#1306787
Hallo, ich habe einen 16Bit-Parameter, der so aufgebaut ist: 1101 100a aabb bbcc Um nun besser experimentieren zu können, habe ich folgende Definitionen eingeführt: #define Param_a 110 #define Param_b 0001 #define Param_c 01 #define Param (0b1101100000000000 | (Param_a << 8) | (Param_b << 5) | (Param_c << 1)) Das Problem, das ich nun habe, ist, dass der Compiler die Parameter, die nicht mit einer 1 beginnen, natürlich "verkürzt". Aus "0001" wird "1" und damit passt der Shift nach links natürlich nicht mehr. Wie kann ich also meine Teil-Bitfelder richtig shiften? Überall eine 1 davor und die dann abschneiden ist ja auch nicht die eleganteste Lösung... Vielen Dank im voraus! Sebastian