Sagen wir für n = 4, müssen wir einen Datentyp A definieren, so dass die Größe von A 4 Bits wird. Ich weiß, wir können dies tun, indem Strukturen wieWie man einen Datentyp einer festen Größe in Bits in C definiert Programmiersprache
durch den folgenden Code verwendetstruct Bit
{
unsigned int a:4;
} dat;
Hier dat wird die ganzen Zahlen speichern die maximale Größe von 4 Bits von 0 bis 15 speichert also, aber wenn wir sizeof Operator ,
sizeof(dat);
dieser Wert auf 4 geben wird (in GCC), das entspricht 4 Bytes 32 Bits, dh, aber ich brauche einen Weg dat Variable definieren die Größe 4 Bits.
'char' ist der kleinste Typ und die Granularität der Adressierung (' sizeof (char) == 1' ist garantiert). Dies ist ein XY-Problem. Bitte geben Sie Ihr ** tatsächliches ** Problem an. – Olaf
Das ist unmöglich. Nichts kann kleiner sein als ein "char". 'unsigned int a: 4' bedeutet nicht" das sind 4 Bits ", aber" 4 Bits dieses 'unsigned int' heißen 'a'". Die restlichen Bits existieren noch, sind jedoch unbenannt. – molbdnilo
Nebenbei, was könnte "sizeof (foo)" mit einem 4-Bit "foo" bewerten? – Quentin