umwandlung von dezimalzahlen ins binäre zahlensystem
-
void binout(int num) { int bitz=sizeof(int)*8-1; while(bitz>=0) { cout<< ((num>>bitz)&1); --bitz; } cout<<endl; }
-
Wie wärs rekursiv?
void bin(unsigned a) { if(a > 0) bin(a/2); cout << a % 2; }
-
void bin(unsigned a) { if(a > 0) cout << (bin(a/2), a%2); }
find ich lustiger
-
void bin(const int a) { if(a>0) { cout<< (bin(a>>1),a&1); } }
-
Intelligente Compiler würden das implizit optimieren.
-
nur das auch clevere compiler meine fehler nicht berichtigen.
muss nat.cout<< (bin((unsigned)(a)>>1),a&1);
wenn man mit signed int arbeitet
-
.b7f7 schrieb:
void bin(const int a) { if(a>0) { cout<< (bin(a>>1),a&1); } }
mach doch mal das if da weg. dafür gibts den ?:-operator.
-
Machst du öfter Sachen, wie "a>0?cout<<(bin(a>>1),a&1):cout;"?
-
@Helium: Pssst, volkard bedient sich öfters der Ironie
.
-
Helium schrieb:
Machst du öfter Sachen, wie "a>0?cout<<(bin(a>>1),a&1):cout;"?
lol...spektakulär...mal gut das sie uns das ?: an der FH verboten haben.