"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Dezimal -> Dual

NyoMic 15.05.2002 - 08:44 737 12
Posts

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2619
Gibts eigentlich eine andre Möglichkeit Dezimalzahlen in Dualzahlen umzurechnen als:


157 :2 = 1
78 :2 = 0
39 :2 = 1
19 :2 = 1
9 : 2 = 1
4 : 2 = 0
2 : 2 = 0

Bin jetzt nedmal sicher ob des stimmt. Gibts da ned was einfacheres zum umrechnen? Sonst wirst ja deppad bei z.B 189382044024029024

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
Zitat von NyoMic
Gibts eigentlich eine andre Möglichkeit Dezimalzahlen in Dualzahlen umzurechnen als:


157 :2 = 1
78 :2 = 0
39 :2 = 1
19 :2 = 1
9 : 2 = 1
4 : 2 = 0
2 : 2 = 0

Bin jetzt nedmal sicher ob des stimmt. Gibts da ned was einfacheres zum umrechnen? Sonst wirst ja deppad bei z.B 189382044024029024

?????????? wos isn des?
hmm i hoff iverwechsle do jetzt nix oba

zb. 4= 1 0 0
6= 1 1 0
5= 1 0 1
12=1 1 0 0

oiso immer schema 2^n 2^n-1 .......2^3 2^2 2^1 2^0

Pedroso

back on duty
Avatar
Registered: Oct 2001
Location: L´dorf
Posts: 809
hmmm... afair is des mit den Potenzen richtig...


mfg

pedroso

irreversible

oberspammer
Avatar
Registered: Mar 2001
Location: 2524
Posts: 1058
passt beides :o)
nur in sensei sei methode is no komplizierter bei größere zahlen ...

kann mi net wirklich an a einfachere methode erinnern :rolleyes:

Freeze

Here to stay
Registered: Sep 2001
Location: 127.0.0.1
Posts: 1916
g0t calc.exe?

BuX

gar nich lieb
Avatar
Registered: Nov 2001
Location: @work
Posts: 599
versuchs mit einer schleife?

ok i kann kan pascal code mehr... aber i hoff trotzdem verstehts jeder ;)

// zahl = integerwert
// zahl_string = toString(zahl) aeh... kA ob das stimmt, muss halt irgendwas sein das sich aus char zusammensetzt
// cnt1 = schleifenzaehler
//zahlbinaer = ergebnis binaer


for (cnt1 = len(zahl_string); cnt1 > 0; cnt1++) {
zahlbinaer[cnt1] = zahl mod 2^cnt1;
}



//bei groesseren werten musst dann auf byte wechseln, sonst kriegst probs mit zahl ;)


hmm.. also irgendwas passt mit dem code net.. aber is mir eh egal ;) probiers halt aus ;)

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2619
Ah Pascal Programm bringt ma nix, i muss des mit Taschenrechner und Papier können. Hoffentlich kommen keine hochen Zahlen wobei des ah ned soviel aufwand wäre

Indigo

raub_UrhG_vergewaltiger
Avatar
Registered: Mar 2001
Location: gigritzpotschn
Posts: 6690
Zitat von NyoMic
Ah Pascal Programm bringt ma nix, i muss des mit Taschenrechner und Papier können. Hoffentlich kommen keine hochen Zahlen wobei des ah ned soviel aufwand wäre

IMO gibts keine einfachere lösung...

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
Zitat von NyoMic
Gibts eigentlich eine andre Möglichkeit Dezimalzahlen in Dualzahlen umzurechnen als:


157 :2 = 1
78 :2 = 0
39 :2 = 1
19 :2 = 1
9 : 2 = 1
4 : 2 = 0
2 : 2 = 0

Bin jetzt nedmal sicher ob des stimmt. Gibts da ned was einfacheres zum umrechnen? Sonst wirst ja deppad bei z.B 189382044024029024

noch niemandem aufgefallen das des garned stimmt ? 10011101 müsste rauskommen, fehlt also noch a 1er...

imho gibs für so kleine (und auch etwas grössere) zahlen a einfachere methode - ich rechnet mas im kopf aus...

bis zu einer gewissen grösse weis ich die "wertigkeit" der stellen in der dual-zahl auswendig.. schaut ja so aus

1 2 4 8 16 32 64 128

128 -> stelle 8 usw...

jez hab ich da 157, schau welche die grösste 2er potenz is die reinpasst -> 128 ... dann weis ich schonmal die dual-zahl hat 8 stellen, die 8te stelle is ein 1er ... 157-128 bleiben noch 29 über, da is die grösste 2er potenz 16 -> also die 5te stelle der dualzahl is auch ein 1er .... 29-16 bleiben noch 13 über -> geht 8 rein, also die 4te stelle auch.... 13-8 bleiben 5 über -> geht 4 rein also die 3te stelle auch... 5-4 bleit 1 über, geht 1 rein, also die erste stelle auch...

->> kommt raus 10011101

hört sich vielleicht auch etwas kompliziert an, mit a bissl übung gehts aber eigentlich recht schnell ;)

------
edit:

vieeeel einfacher geht allerdings hex->dual (braucht ma auch öfter), falls ihr des auch mal machen müssts ;):

2A7F hex -> A=10, F=15 usw sollte ja klar sein....

jede stelle in der hex-zahl is ne 4stellige dual-zahl, ma kanns also ganz einfach umrechnen:

2 -> 0010
A -> 1010
7 -> 0111
F -> 1111

2A7F ist dann klarer weise 0010 1010 0111 1111 (wobei man die führenden 0er natürlich weglassen kann ;))
Bearbeitet von MetalBlade am 15.05.2002, 09:56

Indigo

raub_UrhG_vergewaltiger
Avatar
Registered: Mar 2001
Location: gigritzpotschn
Posts: 6690
dei lösung is genau des selbe wie mit de potenzen ;)

MetalBlade

stainless steel
Avatar
Registered: Feb 2001
Location: Linz
Posts: 1052
sorry, aber JEDE lösung is <edit> imho </edit> "die selbe wie mit den potenzen" weil dualzahlen nunmal auf 2er potenzen aufbauen... :D
Bearbeitet von MetalBlade am 15.05.2002, 10:02

Indigo

raub_UrhG_vergewaltiger
Avatar
Registered: Mar 2001
Location: gigritzpotschn
Posts: 6690
jo stimmt

NyoMic

xepera-xeper-xeperu
Avatar
Registered: Feb 2001
Location: Stahlstadt
Posts: 2619
ma oda der gschissane 8-4-2-1 Code:

0 0 0 0 = 0
0 0 0 1 = 1
0 0 1 0 = 2
0 0 1 1 = usw.
0 1 0 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 1
1 1 1 1
usw.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz