bei Modulo2 bekommt ich immer einen Knoten im Kopf, wenn es hier eh um "Bits" geht, dann tut es auch ein binäres und.
Delphi-Quellcode:
void print_binary(unsigned number) {
unsigned bits[MIN_BITS];
int count = 0;
while(number || count<MIN_BITS) {
bits[count] = number & 0x01;
number>>= 1;
count++;
}
for(int i=count-1;i>=0;i--)
cout<<bits[i];
}
aber wenn ich ehrlich bin, bekomme ich bei den vielen Zeilen und den ganzen Variablen keinen schnellen Überblick, ich würde es lieber "in einfach" so schreiben... klar Ziel/Ergebnis orientiert... "print BITS in reverse order so MSB is on the left":
Delphi-Quellcode:
void print_binary(unsigned number)
{
for(unsigned bitmask = 1 << (MIN_BITS-1);bitmask;bitmask>>=1)
cout << (number&bitmask) ? "1":"0";
}