hallo!
ich möchte ein java programm schreiben, das eine binär zahl in eine dezimalzahl umwandelt. dazu muss ich aber immer wieder die zahl 2 potenzieren. wie kann ich das in java machen ohne eine andere klasse zu verwenden??? gibt es da einen bestimmten befehl?
Hallo,
klingt ganz nach einer Hausaufgabe.
Wenn ich die Lösung herschreibe, dann lernst du im Endeffekt nichts dabei.
Denke ein bisschen nach und dann stelle Fragen, mit denen wir dir helfen können. Das ist der Sinn der Sache.
Ciao, Bill
Hallo!
Ist doch eh effizienter, nicht jedesmal von Neuem zu potenzieren. Merk dir doch einfach die aktuelle Potenz und mache dann in jeder Iteration den Schritt von 2^n auf 2^(n+1).
Hallo Viola,
ich möchte ein java programm schreiben, das eine binär zahl in
eine dezimalzahl umwandelt. dazu muss ich aber immer wieder
die zahl 2 potenzieren. wie kann ich das in java machen ohne
eine andere klasse zu verwenden??? gibt es da einen bestimmten
befehl?
Schau mer mal; eine Binär-Zahl wäre z.B.
1010011010(little endian)
die Positionen werden hier von rechts nach links gezählt,
also Bit 0 (rechts) bis Bit 9 (links).
Ein BI-när-format hat zwei Zustände (0/1),
also kann man mit einem Bit auch zwei Zahlen (Null und Eins)
„speichern“.
Mit zwei Bit kann man daher 2^ 2 = 4 Zahlen „speichern“,
das ist [0, 1, 2, 3],
und zwar mit dem Bitmuster:
00 -> 0 (0 * 2^1 + 0 * 2^0 = 0)
01 -> 1 (0 * 2^1 + 1 * 2^0 = 1)
10 -> 2 (1 * 2^1 + 0 * 2^0 = 2)
11 -> 3 (1 * 2^1 + 1 * 2^0 = 3)
Damit müsstest Du es hinbekommen 
Grüße
CMБ
Klassischer Fall von nicht erst in den Dokumentationen nachgeguckt. Guck dich hier mal genauer um 
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/In…
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]