was ist unsigned?
-
struct robo { unsigned sensor1:1; unsigned sensor2:1; unsigned sensor3:1; unsigned schalter:1; unsigned Ausgabe:4; } Roboter1;
was ist unsigned? ist das ein unsigned int? unsgined char? unsigned long? ich tipp mal auf nicht Standardkonform bzw. auf unsigned int :p
-
das heisst einfach nur dass die elemente des bitfields nicht vorzeichenbehaftet sind. ansonsten würde man z.b. bei vergleichen komische überraschungen erleben
-
er meinte wohl welcher Datentyp angenommen wird, wenn man nur unsigned schreibt, statt unsigned int/char etc.
-
für unsigned wird unsigned int angenommen.
-
Ixtana schrieb:
für unsigned wird unsigned int angenommen.
kannst so nicht sagen. int ist meistens grösser als so'n bitfield member. meistens sind die sogar kleiner als 'char'. das 'unsigned' wird schon wichtig, wenn man den wert nur ausgeben will. guckst du:
#include <stdio.h> struct { unsigned a: 2; int b: 2; } bf; int main() { bf.a = 3; bf.b = 3; printf ("%d, %d\n", bf.a, bf.b); // 3, -1 getchar(); }
-
oh hab das mit dem Bitfeld übersehen
-
net schrieb:
Ixtana schrieb:
für unsigned wird unsigned int angenommen.
kannst so nicht sagen. int ist meistens grösser als so'n bitfield member.
Doch. Na und. 'unsigned x:1;' ist das gleiche wie 'unsigned int x:1;', wie auch sonst unsigned alleine das gleiche wie unsigned int ist.
-
Bashar schrieb:
net schrieb:
Ixtana schrieb:
für unsigned wird unsigned int angenommen.
kannst so nicht sagen. int ist meistens grösser als so'n bitfield member.
Doch. Na und. 'unsigned x:1;' ist das gleiche wie 'unsigned int x:1;', wie auch sonst unsigned alleine das gleiche wie unsigned int ist.
ha, das ist der beweis: int kann kleiner sein als char
-
Wenn du es so sehen willst, ja.