Umrechnung von Basis b zu Dezimalzahl

Status
Nicht offen für weitere Antworten.
P

piffel

Gast
Hallo Leute!

In unserer Hochschule haben wir eine Aufgabe bekommen! Und zwar sollen wir ein Programm schreiben, welches eine Dezimalzahl in ein anderes Zahlensystem (Binär, Oktal und Hexadezimalsystem) umrechnet. Das ganze soll auch umgekehrt funktionieren - also von den Zahlensystemen Binär, Oktal und Hexa ins Dezimalsystem. Bei der 2. Aufgabe scheiter ich - wie soll das Funktionieren?

So weit bin ich nun:

Code:
public class Binaer_in_Dezimal 
{

	public static void main(String[] args) 
	throws IOException
	{
	
		Scanner eing = new Scanner(System.in);
		
		String bZahl,ergebnis;
		int laenge, basis;
		
		BufferedReader din = new BufferedReader(
							 new InputStreamReader(System.in));	
		
		System.out.println("Bitte Zahl eingeben: ");
		bZahl = eing.nextLine();
		
		laenge= bZahl.length();
				
		System.out.println("Die Zahl ist "+laenge +" Zeichen lang.");
	
		
		for (int x=0 ; x ==laenge-1 ; x++)
		{
			ergebnis= d * Math.pow(2,x);
			
		}
		
		System.out.println("Die Dezimalzahl dazu lautet: " +ergebnis);
	
	}
	
}

Mein Problem ist besonders bei der for-Schleife! Ich hab keine Ahnung wie ich weiter vorgehen soll!
Ich hoffe, jmd kann mir helfen!
Danke schonmal!!!

mfG, piffel!
 

lordsaibo

Mitglied
ich weiß nicht ob dir das was bringt, bin selber anfänger:

unter java.lang.Integer gibt es sachen wie:

toBinaryString, toHexString, toOctalString


kannst die umrechnung z.b. so machen glaub ich:

Code:
public class Geliefert
{
  public static void main (String [] args)
  {
    String geliefert;
    int zahl;
    zahl = 10;
    
    geliefert = Integer.toHexString(zahl);
    System.out.println(geliefert);
  }
}


mfg lordsaibo
 

The_S

Top Contributor
für das umkehren kannste Integer.parseInt verwenden. Du übergibst als zweites Argument einfach die Basis deines gewünschten Zahlensystems. z. B.:

Code:
int i = Integer.parseInt("10010", 2); // Binär
int j = Integer.parseInt("AF", 16); // Hexa
 
P

piffel

Gast
wir müssen leider die methoden (also das umrechnen) komplett selber schreiben!
 
B

Blutiger_Anfänger

Gast
ähm wir hatten das auch mal aber in C++
da habe wir die Dezimal zahl einfach immer durch die dualzahlen geteil oder so also irgendwie war des dann

int eingdez
eingdez = eingdez / 1024
eingdez = eingdez / 512
eingdez = eingdez / 256
...
irgendwie so war des glaub ich hoffe hiltft dir weiter und in Okt bzw. Hex gehts ja ähnlich
oder was vllt auch gehn würde durch die basis Teilen also wenn du einfach z.b.
125(dez) / 8 machst da müsste doch die oct zahl raus kommen
 

The_S

Top Contributor
Schau dir doch mal bei Wikipedia die Artikel zu den gewünschten Zahlensystemen an. Dort wirst du sicher eine Möglichkeit finden, wie man das am Besten umrechnet :) . Ansonsten kannst du dir ja mal den JavaSource anschauen. Dort findest du ebenfalls wie man das umrechnet.
 
S

SlaterB

Gast
du solltest lernen, zumindest deine Fragen eindeutig zu stellen..

wobei bist du denn gerade, 'Hexa ins Dezimalsystem'
oder
'Octa ins Dezimalsystem'
oder
'Binär ins Dezimalsystem'

ist zwar zum Teil ähnlich, aber wenn dein Programm einfach nur
aus 'Zahl eingeben' -> Ausgabe bestimmt,
dann weiß ja niemand was du aktuell haben möchsten,

(ach, aus Math.pow(2,x); soll man wohl erkennen, dass Binär gemeint ist ;) )
-----------

bei Hexa bekommst du 23AE,
daraus musst du eine interne Darstellung 2,3,10,14 + Basis 16 machen,
z.B. ein Array für die Ziffern und ein int für die Basis,

bei Octa z.B. 4,7, 0, 2 + Basis 8
bei Binär z.B. 0,1,0,0,1,1 + Basis 2

wenn du eine solche Darstellung dir aus der Benutzereingabe erarbeitet hast,
kannst du dir eine allgemeine Operation schreiben, die abhängig von dem array und der Basis eine Dezimalzahl errechnet

und das ist ja nicht schwer:
letzte Stelle + Basis * vorletze Stelle + Basis^2 *vorvorletzte Stelle usw.

dafür bietet sich tatsächlich eine for-Schleife über das Array an,
baue dir erstmal das Array und die Basis,
dann sollte danach die Schleife recht schnell zu finden sein oder frage dann wieder nach


---------

125(dez) / 8 = Oktalzahl?
man und ich dachte Informatik wäre schwer ;)
 
P

piffel

Gast
Hey danke SlaterB, das hat mir geholfen! Und genau richtig erkannt, ich meinte zur Basis 2 ;)
Obwohl das ja im Grunde genommen egal ist, denn dann muss man einfach die 2 durch eine 8 oder 16 tauschen!

Also danke!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Umrechnung vom Zehnersystem Java Basics - Anfänger-Themen 2
K Umrechnung Koordinaten zu Winkel Java Basics - Anfänger-Themen 3
J Problem bei Umrechnung von Hex in Bin Java Basics - Anfänger-Themen 4
D Umrechnung dezimal -> oktal | signed/unsigned? Java Basics - Anfänger-Themen 1
K Umrechnung von Zeiten Java Basics - Anfänger-Themen 3
Z Dezimal > Binär-Umrechnung Logikfehler? Java Basics - Anfänger-Themen 8
W Fehler bei Umrechnung in Dualsystem Java Basics - Anfänger-Themen 4
T Millisekunden-Umrechnung die 100. Java Basics - Anfänger-Themen 6
E Methoden umrechnung binär/oktal/hexadezimal in dezimalsystem (Methode) Java Basics - Anfänger-Themen 1
E Cosinus berechnen -> Umrechnung in Bogenmaß Java Basics - Anfänger-Themen 11
G Umrechnung Zeit/Temperatur Java Basics - Anfänger-Themen 6
D Umrechnung von Einheiten Java Basics - Anfänger-Themen 7
A Verständnisfrage Sekunden/Tage Umrechnung Java Basics - Anfänger-Themen 3
L Einfache Umrechnung Java Basics - Anfänger-Themen 2
A Umrechnung von € in $ mit Variablen Java Basics - Anfänger-Themen 3
S java.lang.NullPointerException Fehler bei Umrechnung Java Basics - Anfänger-Themen 3
M Umrechnung von Grad Celsius nach Grad Fahrenheit Java Basics - Anfänger-Themen 9
C Hilfe bei Umrechnung von dezimal nach binär Java Basics - Anfänger-Themen 9
N Programm zur Umrechnung von DM auf EURO mit for-Schleife Java Basics - Anfänger-Themen 3
C Umrechnung von Zahlensystemen Java Basics - Anfänger-Themen 1
Jose05 Logarithmus zur Basis 2 Java Basics - Anfänger-Themen 7
I Labyrinth auf der Basis eines rekursiven Algorithmus Java Basics - Anfänger-Themen 27
O von Basis 10 in Basis x umwandeln Java Basics - Anfänger-Themen 5
D Methoden Logarithmus zur Basis 2 Java Basics - Anfänger-Themen 3
J Interface Wechsel in den Windows7-Basis Modus Java Basics - Anfänger-Themen 7
A Potenzen, Exponenten, Basis Java Basics - Anfänger-Themen 3
B Zahl Basis 10 in DualDezimal 16bit umwandeln Java Basics - Anfänger-Themen 8
E Umrechnen Basis 2-36, Probleme mit Basis 36 Java Basics - Anfänger-Themen 8
J Berechnung des aktuellen Alters auf Basis des Geburtstags Java Basics - Anfänger-Themen 45
S Gleitkommazahl zur Basis b berechnen Java Basics - Anfänger-Themen 2
A Zahl zur Basis Java Basics - Anfänger-Themen 6
wofus Interface EditText Feld Multiline Dezimalzahl Java Basics - Anfänger-Themen 2
C Gleitkommazahl in Dezimalzahl umrechnen Java Basics - Anfänger-Themen 4
J Dezimalzahl in Bruch Umwandeln und Kürzen Java Basics - Anfänger-Themen 8
S Variablen Abbruchbedingung: Dezimalzahl Java Basics - Anfänger-Themen 32
W Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern? Java Basics - Anfänger-Themen 5
Aprendiendo Gibt es in der JAVA-API eine Funktion, die eine Dezimalzahl in eine binäre Zahl umwandelt? Java Basics - Anfänger-Themen 8
P Zeichenkette mit Binärzahl in Dezimalzahl umrechnen Java Basics - Anfänger-Themen 3
O Dezimalzahl in andere Zahlensysteme Java Basics - Anfänger-Themen 5
1 Binärdarstellung (als String) in Dezimalzahl umwandeln Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
H OOP Dezimalzahl in Binärzahl mit GUI - Problem Java Basics - Anfänger-Themen 14
J Dezimalzahl in Binärdarstellung Java Basics - Anfänger-Themen 6
J Gleitkommazahl in Dezimalzahl umrechnen Java Basics - Anfänger-Themen 5
F Variablen Dezimalzahl oder doch nicht? Java Basics - Anfänger-Themen 5
D String mit 2 Stellen nach dem Komma (Dezimalzahl) Java Basics - Anfänger-Themen 9
D Umwandlung char -> dezimalzahl und ausgabe als int Java Basics - Anfänger-Themen 5
C Dezimalzahl in Dualzahl. Java Basics - Anfänger-Themen 11
S Regex für Dezimalzahl. Problem mit Nachkommastellen Java Basics - Anfänger-Themen 5
R dezimalzahl in hexadezimalzahl umwandeln Java Basics - Anfänger-Themen 14
G Dezimalzahl(integer) ziffernweise umdrehen Java Basics - Anfänger-Themen 3
G Binärzahl in dezimalzahl umwandeln Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben