www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Algorithmen und Datenstrukturen" - Umstellung auf Binär
Umstellung auf Binär < Algor.+Datenstr. < Theoretische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Umstellung auf Binär: Übungsaufgabe
Status: (Frage) beantwortet Status 
Datum: 15:20 Di 25.04.2006
Autor: Fahnder

Aufgabe
Schreiben Sie ein Java- Programm, welches als Eingabe einen Zahl z in Hexadeximaldarstellung (ohne führende Nullen) erhält und als Ausgabe z in (nicht ZKD-) Binärstellung (ohne führende Nullen) liefert, derart, dass das am wenigsten signifikante Bit rechts steht. Nennen Sie ihre Klasse aufgabe7.  

Hi,
also ich habe einen entwurf, weiss aber nicht, ob der überhaupt funktionieren wird.
es handelt sich um eine Übungsaufgabe, die ich morgen abgeben muss.

Hier mein entwurf:
public class aufgabe7{
// Compute the binary representation of a hexadecimal number
// Print z as a binary number
public static void main (String[] args){
int z = "0123456789ABCDEF"; //z is a hexadecimal number
System.out.println("binär: " + Integer.toBinaryString(z));
}
}

Ich weiss, dass sich bei int z ein fehler versteckt, da fehlt noch was. leider komme ich da nicht weiter.
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Fahnder

        
Bezug
Umstellung auf Binär: Zeit
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 23:08 Di 25.04.2006
Autor: Fahnder

Die Fälligkeit ist nicht ganz richitg, ich brauche das bis spätestens 14 Uhr morgen, falls es jemand schafft, mir zu antworten. Wäre schön

Bezug
        
Bezug
Umstellung auf Binär: Antwort
Status: (Antwort) fertig Status 
Datum: 00:28 Mi 26.04.2006
Autor: Frank05


> Hi,

Hallo,

>  also ich habe einen entwurf, weiss aber nicht, ob der
> überhaupt funktionieren wird.
>  es handelt sich um eine Übungsaufgabe, die ich morgen
> abgeben muss.
>  
> Hier mein entwurf:
>  public class aufgabe7{
>  // Compute the binary representation of a hexadecimal
> number
>  // Print z as a binary number
>  public static void main (String[] args){
>  int z = "0123456789ABCDEF"; //z is a hexadecimal number
>  System.out.println("binär: " +
> Integer.toBinaryString(z));
>  }
>  }
>  
> Ich weiss, dass sich bei int z ein fehler versteckt, da
> fehlt noch was. leider komme ich da nicht weiter.
>  Ich habe diese Frage in keinem Forum auf anderen
> Internetseiten gestellt.

1. Du kannst nicht einer Variablen vom Typ int einfach so einen String zuweisen. Dafür gibts Integer.parseInt

2. Hexadezimalzahlen werden in Java durch ein vorangestelltes 0x gekennzeichnet,
also z.B. int z = 0xDEADBEEF;

3. Ich kann mir kaum vorstellen, dass die Übungsaufgabe mit Integer.toBinaryString gelöst werden soll.. auf der anderen Seite brauchen sich die Übungsleiter nicht wundern wenn es so gemacht wird, da bekanntlich die meisten Studenten versuchen den Weg des geringsten Widerstandes zu gehen.

PS: Wenn du bei dem Ganzen noch was lernen willst solltest du im eigenen Interesse die toBinaryString Method mal selber schreiben.


Bezug
                
Bezug
Umstellung auf Binär: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 10:15 Mi 26.04.2006
Autor: Fahnder

Hi,
ich habe das jetzt mal ausprobiert, mit deinem Beispiel, es geht, aber sowas ähnliches hatte ich schon, worauf es ankommt, ist, dass ich eine beliebige Zahl in Hexadezimal eingeben kann und deren umwandlung im Binärcoe wird angeben. So wie du das Int beschrieben hast, bekommt man immmer das selbe raus. Bei der Definiton von Int für alles Hexadezimalzahlen, da komme ich nicht weiter.
Fahnder

Bezug
                        
Bezug
Umstellung auf Binär: Antwort
Status: (Antwort) fertig Status 
Datum: 11:10 Mi 26.04.2006
Autor: kretschmer

Hallo,

also konkret möchtest Du doch folgendes: Benutzer gibt in Hexadezimaldarstellung eine Zahl an und dann wird sie umgewandelt in eine Binärdarstellung. Das besteht prinzipiell aus 3 Schritten:

1. Zahl einlesen -> man erhält einen String bestehend aus den Zeichen 0-9 und A-F (oder gar a-f)
2. Zahl in Binärdarstellung umwandeln (da je eine Hexadezimalstelle durch genau 4 Binärstellen abgedeckt werden, ist eine direkte Umwandlung ohne vorherige Konvertierung in einen int oder ähnliches leicht möglich) -> String mit Binärdarstellung
3. Binärdarstellung ausgeben (und führende Nullen entfernen, wie in der Aufgabe verlangt. Dies würde ich persönlich erst hier machen in einer Programmieraufgabe, weil es dann übersichtlicher ist und auch einfacher)


Ich bin jetzt nicht so ganz drinne in Java, bzw. kenne jetzt jede einzelne Klasse/Methode auswendig und kann Dir keinen vernünftigen Anhaltspunkt geben, ausser dass man zum Einlesen vielleicht einfach System.in verwenden sollte, da dort einfachen String lesen dabei sein sollte. Die Konvertierung kannst Du zeichen für Zeichen machen und dann einfach Stringkonkatenation durchführen (Du brauchst ja für jedes Zeichen in Hexadezimaldarstellung genau 4 Binärstellen). Führende Nullen entfernen sollte dadurch realisierbar sein, dass man den String entsprechend verkleinert (oder Zeichen für Zeichen ausgibt und entsprechende Zeichen einfach weglässt am Anfang).

--
Gruß
Matthias

Bezug
                        
Bezug
Umstellung auf Binär: Antwort
Status: (Antwort) fertig Status 
Datum: 09:32 Do 27.04.2006
Autor: Frank05


>  ich habe das jetzt mal ausprobiert, mit deinem Beispiel,
> es geht, aber sowas ähnliches hatte ich schon, worauf es
> ankommt, ist, dass ich eine beliebige Zahl in Hexadezimal
> eingeben kann und deren umwandlung im Binärcoe wird
> angeben. So wie du das Int beschrieben hast, bekommt man
> immmer das selbe raus. Bei der Definiton von Int für alles
> Hexadezimalzahlen, da komme ich nicht weiter.

Du kannst es entweder so probieren wie es Matthias vorgeschlagen hat, oder falls es dir lieber ist wenn du die eingegeben Zahl als int zur Verfügung hast kannst du mit Integer.parseInt(String, int) arbeiten. Dabei ist das zweite Argument ein Radix, den du für das Umwandeln von Hexadezimalzahlen mit 16 belegst. Damit reduziert sich das ganze Programm auf:
Integer.toBinaryString(Integer.parseInt(eingabe, 16));
Aber das nur der Vollständigkeit halber.. der eigentliche Übungseffekt geht natürlich bei Verwendung dieser Methoden verloren.

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Algorithmen und Datenstrukturen"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.mathebank.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]