Dezimal in Dual...Arraygröße & Runden

Status
Nicht offen für weitere Antworten.

Ollsen

Mitglied
Hallo,

ich würde gern eine Dezimal- in eine Dualzahl umwandeln. Nun habe ich mir gedacht, ich lese die Dezimalzahl von der Eingabeaufforderung ein und übergebe sie an eine Methode, die dann anhand des Horner-Schemas die Dualzahl berechnet. Soweit noch alles Ok.
Ich lasse eine nicht-abweisende Schleife solange eine Ganzzahldivision und Modulooperation durchführen, bis die Ganzzahldivision den Wert null erreicht hat. Die Ergebnisse der Modulooperation geben mir ja die nullen und einsen meiner Dualzahl wieder, die ich gern in ein Array speichern würde. Jedoch muss ich beim anlegen des Arrays seine Größe kennen. Wie bekomme ich es hin, dass ich mein array während der Laufzeit beliebig in seiner größe ändern kann?
Bei jedem neuen Modulo-rest würde ich erst das Array um eine Größeneinheit erhöhen und den Wert eintragen.
Vielleicht gibt es ja noch einfacher Lösungen, wie man eine Dezimalzahl in eine Dualzahl umwandelt. Aber ich hab nix gefunden.

Eine weitere kleine Frage wäre, wieso er hier in diesem Beispiel nicht rundet.
Code:
public class test {
	public void go(){
		double i;
		
		Math.floor(i = Math.log(512+1) / Math.log(2));
		System.out.println(i);
	}
	public static void main (String[] args) {
		test a = new test();
		a.go();
	}
}

Ich würde gern immer aufrunden, egal ob da unzählige nullen und dann zum schluss mal ne eins kommt.

Bye Ollsen
 

Ollsen

Mitglied
Hmm,

habe gerade das gefunden: Arraygrenzen werden zur Laufzeit überprüft. Ein Array kann nach dem Anlegen nicht mehr vergrößert oder verkleinert werden. :applaus:

Das wirft natürlich meinen Lösungsversuch für das Umwandeln der Dezimal- in eine Dualzahl über den haufen. Hat jemand dazu eine Idee?

Wenn die Sache mit dem Runden erstmal gelöst ist, hatte ich eine neuen Lösungsvorschlag.
Frage: Wieviele Stellen braucht man um eine Dezimalzahl im Dualsystem darzustellen?
Antwort: Stellen = log(Dezimalzahl + 1) / log(Basis)
Wenn ich Runden könnte, dann wüsste ich schon bei der Eingabe die Größe des erforderlichen Arrays.

hat jemand nen anderen Lösungsvorschlag? :bahnhof:

Bye Ollsen
 

Ollsen

Mitglied
Hmm,

hab gerade nochmal im Forum gesucht und die Funktion toString gefunden.

Also wäre eine einfach Lösung der umwandlung schon gefunden, jedoch das Runden bekomme ich noch immmer nicht hin.
 

messi

Bekanntes Mitglied
Mit Dualzahl meinst du die Darstellung mit Basis 2? Auch Binärzahl genannt? Dann reicht doch Integer.toBinaryString(int), oder?

Du mußt die Rückgabe von Math.floor() bzw Math.round() in i speichern: i = Math.round(Math.log(x)/Math.log(2))
 

bambi

Bekanntes Mitglied
Ansonsten kannst Du wegen des Rundens auch mal hier reinschauen:
http://www.java-forum.org/de/viewtopic.php?t=16601

Falls Du unbedingt listen/arrays brauchst, deren Laenge variabel ist, wuerde ich an Deiner Stelle ArrayLists verwenden.
Ab Java 5 kann man da auch festlegen welche Datentypen in den Listen sein duerfen. Sieh einfach mal in die API.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
W Umwandeln von Dezimal in Dual - Ausgabe incl. Rechenschritte Java Basics - Anfänger-Themen 11
F Erste Schritte [GUI] Dual in Dezimal rechnen Java Basics - Anfänger-Themen 5
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
S Dual in Dezimal umwandeln? Java Basics - Anfänger-Themen 24
Ostkreuz Methoden Von Dezimal zu Hexadezimal Methode toHex Java Basics - Anfänger-Themen 2
M Binär zu Dezimal Java Basics - Anfänger-Themen 16
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
P Dezimal zu Hexadezimalzahl Funktion Java Basics - Anfänger-Themen 5
G Dezimal zu Binärcode Programm Java Basics - Anfänger-Themen 9
J Dezimal in Binär (Array) Java Basics - Anfänger-Themen 2
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
L Dezimal- zu Binärsystem Java Basics - Anfänger-Themen 4
P 32 Bit Binärzahl Umwandeln in Dezimal Java Basics - Anfänger-Themen 8
D römische Zahlen in Dezimal ausgeben Java Basics - Anfänger-Themen 9
dave253 IEEE-Norm in Dezimal Java Basics - Anfänger-Themen 12
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
K Erste Schritte Dezimal in binär Java Basics - Anfänger-Themen 17
S Umwandlung Binär in Dezimal (ohne array etc.) Java Basics - Anfänger-Themen 6
V Binär in Dezimal Java Basics - Anfänger-Themen 4
H Erste Schritte Uhrzeit anzeigen in Minuten Dezimal Java Basics - Anfänger-Themen 8
S Umrechner (Dezimal, Hexadezimal und Binär) Java Basics - Anfänger-Themen 3
F Erste Schritte Dezimal in Hexadezimal Java Basics - Anfänger-Themen 5
N Compiler-Fehler Dezimal to binary Java Basics - Anfänger-Themen 2
C Dezimal- und InputVerifier/FocusListener Probleme Java Basics - Anfänger-Themen 3
E Hexadezimal in Dezimal Java Basics - Anfänger-Themen 25
G Java Dezimal Zahlen Internazialisation Problem Java Basics - Anfänger-Themen 7
C dezimal in binär Java Basics - Anfänger-Themen 3
M Binär -> Dezimal Java Basics - Anfänger-Themen 11
U Dezimal zu Hexadezimal rekursive Funktion Java Basics - Anfänger-Themen 8
F dezimal zu hexadezimal Java Basics - Anfänger-Themen 14
N Umrechung Binär in Dezimal und Hexadezimal Java Basics - Anfänger-Themen 7
V Tool zum Umrechnen Dezimal in Hex Java Basics - Anfänger-Themen 7
B Dezimal Binär? Java Basics - Anfänger-Themen 10
B Dezimal --> Hex Java Basics - Anfänger-Themen 3
M String(Binärzahl) in Dezimal umwandeln Java Basics - Anfänger-Themen 4
R Unicode-Wert in Binär und Dezimal umformen - kleines Problem Java Basics - Anfänger-Themen 1
G Dezimal zu Hexadezimal Java Basics - Anfänger-Themen 2
S Dezimal- in Hexadezimalzahl umwandeln Java Basics - Anfänger-Themen 4
M wie hexadezimal in dezimal wandeln? Java Basics - Anfänger-Themen 16
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
X Dezimal/-Hexcode in lebares format umwandeln Java Basics - Anfänger-Themen 4
S dezimal od. hexadezimal Java Basics - Anfänger-Themen 3
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
H Arraygröße einer Klasse von der Main aus vorgeben Java Basics - Anfänger-Themen 3
C Dynamische Arraygröße Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben