Guten Morgen Sternst und die anderen...
Um deine Aussage zu prüfen, habe ich gleich mal folgendes probiert:
Code:
struct
{
int dat1 : 3;
signed int dat2 : 3;
} st;
int main(void)
{ int a;
st.dat1 = -3;
st.dat2 = -3;
a = st.dat1; /* a ist nun +5 !!!!!!!!! */
a = st.dat2; /* a ist nun -3 */
}
Und siehe da, Du hast vollkommen recht, der (mein) Compiler interpretiert bei Bit Definitionen den int tatsächlich "vorzeichenlos".
Dann ist also meine Frage garnicht so dumm gewsesen. Bei Bitdefinitionen ist es also sehr wohl erlaubt (bzw.) sogar Pflicht
dem int ein Vorzeichen aufzudrängeln, sonst verhält sich der Code unter Umständen nicht wie vorgesehen.
Ich hab den Satz mal fett gemacht, ich glaube das ist eine ganz wichtige Aussage.
Ich danke Dir, für die Info.
Siro
Lesezeichen