Hi,
mir ist klar das dieses Thema hier wahrscheinlich schon des öfteren besprochen wurde und der Algorithmus ist mir auch bekannt.
Allerdings hatte ich eine andere Idee wie man das eleganter machen könnte:
Man hat ein int im Arbeitsspeicher und lässt nun einen bool Zeiger darauf zeigen und schon könnte man die einzelnen bits abrufen.
Nur klappt das in der Praxis irgendwie nicht. Die bits stimmen hinten und vorne nicht. Habt ihr eine Idee wieso?
Hier der Code:
Achja und eine andere Frage: was gibt sizeof() zurück? bytes oder bits?
Nun gut, die Frage hat sich geklärt. Aber wieso gibt sizeof(bool) dann 1 also 8 bit zurück?
mir ist klar das dieses Thema hier wahrscheinlich schon des öfteren besprochen wurde und der Algorithmus ist mir auch bekannt.
Allerdings hatte ich eine andere Idee wie man das eleganter machen könnte:
Man hat ein int im Arbeitsspeicher und lässt nun einen bool Zeiger darauf zeigen und schon könnte man die einzelnen bits abrufen.
Nur klappt das in der Praxis irgendwie nicht. Die bits stimmen hinten und vorne nicht. Habt ihr eine Idee wieso?
Hier der Code:
Code:
int a=2;
bool *b;
b=(bool*)&a;
int s;
for(s=0;s<sizeof(int)*8;s++)
{
if(*(b+s))
{
printf("1");
}else
{
printf("0");
}
}
Achja und eine andere Frage: was gibt sizeof() zurück? bytes oder bits?
Nun gut, die Frage hat sich geklärt. Aber wieso gibt sizeof(bool) dann 1 also 8 bit zurück?
Zuletzt bearbeitet: