PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binärkombination in Dezimal


mekakic
2009-01-23, 14:08:17
Hi,

wenn ich zwei Zahlen als Binärausdrücke hintereinanderschreibe - also z.B. 5 (=101) und 13(=1101) und daraus den Ausdruck (=1011101) kombiniere, kann ich dies auch irgendwie über dezimal mathematische Operationen ausdrücken. Ich möchte also 5 und 13 irgendwie verrechnen, daß ich am Ende 93 rausbekomme, als Ergebnis der Binären Verkettung von (1011101). Ist das irgendwie möglich?

danke

Marscel
2009-01-23, 14:17:12
5 * 2^(4) + 13

Superguppy
2009-01-23, 14:20:08
5 + (13 << 3)

(Bitverschiebung)

Marscel
2009-01-23, 14:21:34
5 + (13 << 3)

(Bitverschiebung)

Da komm ich auf 109, wie oben angegeben, wäre richtig: 13 + (5 << 4)

DocEW
2009-01-23, 16:08:43
5 * 2^(4) + 13
Wobei du die 4 durch ceil(log(13+1)/log(2)) bekommst.

Superguppy
2009-01-23, 16:32:18
Da komm ich auf 109, wie oben angegeben, wäre richtig: 13 + (5 << 4)
Hups ... ich wusste doch ich hab da was vermurkst. :(

Tiamat
2009-01-23, 22:11:10
Schaffst du es denn 5 und 13 im Dezimalsystem so zu verrechnen, dass 93 rauskommt ;D
Ich würd hier ehrlich gesagt ne eigene Methode schreiben, die diese Zahlen in nen String umwandeln, die beiden Strings konkateniert und das Ergebnis wieder zurück in ne Zahl umwandeln.

Superguppy
2009-01-23, 22:23:10
Das wäre von der Performance grauenhaft. ^^

#44
2009-01-24, 21:20:45
5 * 2^(4) + 13
Allgemein dann so:

a * 2^(c) + b

Wobei c die auf log2(b) folgende ganze Zahl ist.

Tiamat
2009-01-25, 07:37:42
Das klappt aber nur auch dann, wenn b positiv ist.

mekakic
2009-01-26, 08:53:18
Danke! Das ganze muß auch nur positiv sein...