Umwandlung von Dezimalzahl zu Binärzahl
-
Was wäre denn
pow(16,j)?
mit einem shift operator?
-
WilderSchorsch schrieb:
Was wäre denn
pow(16,j)?
mit einem shift operator?
4 << j?
-
da der links-shift einer multiplikation mit zwei gleich kommt
und viermal nachlinks somit 2*2*2*2 (also 16) ist, ja.
-
WilderSchorsch schrieb:
Was wäre denn
pow(16,j)?
mit einem shift operator?
1 << (4 * j)
-
Wie ich sehe sind hier ja die absoluten Optimierungsexperten am Werk
.
Warum nicht gleich so etwas?
std::string int2bin(int x) { std::string str; do str = (x & 1 ? "1" : "0") + str; while(x>>=1); return str; }
-
Weil nun die Bits in der Ausgabe von vorne nach hinten vertauscht sind, oder irre ich mich da
-
Äh nein! Die Reihenfolge sollte stimmen.
-
groovemaster2002 schrieb:
WilderSchorsch schrieb:
Was wäre denn
pow(16,j)?
mit einem shift operator?
1 << (4 * j)
Ist denn dies schneller als pow(16,j)?
-
char* inttobin(int x){return itoa(x,"",2);}
char* inttohex(int x){return itoa(x,"",16);}
char* inttooct(int x){return itoa(x,"",8);}
-
WilderSchorsch schrieb:
Ist denn dies schneller als pow(16,j)?
Wieso machst du nicht mal nen Benchmark Test und teilst uns die Ergebnisse mit?
MaSTaH schrieb:
Äh nein! Die Reihenfolge sollte stimmen.
Das ist wohl auch das einzigste was da stimmt.
Wo bleibt nur dieser Shlemiel?