M
matzeed7
Mitglied
Hallo,
ich habe heute bemerkt das es zu einem Widerspruch bei einer
meiner Implemenrierungen kommt!
ich habe versucht die einzelnen Bit eines int auszugeben.
dazu habe ich mir eine kleines testfile geschrieben. Indem folgender code
vorkam:
die ausgabe war wie von mir erwartet:
0000 0000 0000 0000 0000 0000 1111 1100
nun wollte ich, um a bissel platz zu sparen, das ganze auf unsigned short int
überführen was ja eine grösse von nur zwei byte ergibt, also habe ich die
31 in eine 15 umgetauscht, aber die ausgabe war nicht die die ich erwartete!!
ausgabe: 00000000137153163126252
kann mir wer sagen wo mein fehler(denkfehler) liegt!!!
Danke schon mal im voraus
Gruss Matze
ich habe heute bemerkt das es zu einem Widerspruch bei einer
meiner Implemenrierungen kommt!
ich habe versucht die einzelnen Bit eines int auszugeben.
dazu habe ich mir eine kleines testfile geschrieben. Indem folgender code
vorkam:
Code:
unsigned int wert=0xfc;
for(int i=0;i<32;i++){
cout <<((wert<<i)>>31 ) ;
}
die ausgabe war wie von mir erwartet:
0000 0000 0000 0000 0000 0000 1111 1100
nun wollte ich, um a bissel platz zu sparen, das ganze auf unsigned short int
überführen was ja eine grösse von nur zwei byte ergibt, also habe ich die
31 in eine 15 umgetauscht, aber die ausgabe war nicht die die ich erwartete!!
Code:
unsigned short int test=0xfc;
for(int i=0;i<16;i++){
cout <<((test<<i)>>15 ) ;
}
kann mir wer sagen wo mein fehler(denkfehler) liegt!!!
Danke schon mal im voraus
Gruss Matze