Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » StringToFloat - Aufgabe » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen StringToFloat - Aufgabe
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Someone
Grünschnabel


Dabei seit: 24.01.2016
Beiträge: 8

StringToFloat - Aufgabe Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Hallo Informatik-Interessenten! Wink

Normalerweise bin ich nicht der Fan davon einfach eine Aufgabe hier reinzuwerfen ohne eigene Ansätze/Lösungen. Aber ich bin neu in der Informatik-Materie und habe echt noch Probleme und würde mich wirklich freuen, nicht unbedingt direkt die Lösung - aber gerne hilfreiche Tipps für einen Laien wie mich geben könnt. ICH BIN ECHT AM VERZWEIFELN.. versuche schon seit über einer Stunde im Internet was verwertbares zu finden unglücklich unglücklich unglücklich

Zitat:
Aufgabe:
Schreiben Sie ein Programm, das eine auf der Kommandozeile übergebene Zeichenkette der Länge 32, die nur die Zeichen ’0’ und ’1’ enthält, verarbeitet.

Zeichenketten im falschen Format fuhren zu einer Fehlermeldung und dem Programmende. Zeichenketten im richtigen Format werden als binäre Codierung einer Gleitkommazahlen mit einfacher Genauigkeit nach IEEE-Standard 754 interpretiert.

• NaN, +0, -0, +unendlich & -unendlich werden erkannt und es wird NaN, +0, -0,
NEGATIVE INFINITY oder POSITIVE INFINITY ausgegeben.

• Es werden int-Werte bestimmt, die das Vorzeichen s, den verschobenen Exponenten
e und die Mantisse m repr¨asentieren und zwar so, dass die Formel s·2^e-127·m·2^-23 die dargestellte Gleitkommazahlen mit einfacher Genauigkeit ergibt. Dabei muss beruck-
sichtigt werden, ob es sich um eine normalisiert oder denormalisiert Darstellung handelt.

• Die int-Werte s, e, m und die float-Werte m·2^-23 und s·m·2^e-150 werden ausgegeben


code:
1:
2:
3:
4:
5:
6:
7:
8:
class StringToFloat {
public static void main ( String args [] ) {
String str = args [0];
for (int i = 0; i < str. length (); i++)
System.out.print(str. charAt (i));
System.out.println();
}
}

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Someone: 03.02.2016 21:52.

03.02.2016 21:52 Someone ist offline Beiträge von Someone suchen Nehmen Sie Someone in Ihre Freundesliste auf
Shizmo
Tripel-As


images/avatars/avatar-69.gif

Dabei seit: 16.10.2015
Beiträge: 174

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wo liegt denn das Problem genau?
Weißt du was IEEE ist und kennst du die Ausnahmefälle? Damit du sie (mit if-Anweisungen) abfangen kannst?
Oder hast du Probleme mit der Angabe oder Probleme mit Java?
03.02.2016 23:22 Shizmo ist offline Beiträge von Shizmo suchen Nehmen Sie Shizmo in Ihre Freundesliste auf
Someone
Grünschnabel


Dabei seit: 24.01.2016
Beiträge: 8

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke erstmal für deine Antwort.
Mein Problem ist, dass ich nicht genau weiß WAS ich jetzt mit dem Quellcode da anfangen soll bzw. was meine Aufgabe ist zu lösen.

Ich weiß zum Beispiel was mit mit dem IEEE Standard 754 angestellt werden kann.
Jedoch diese ganze Theorie mit dem Vorzeichen, Exponenten und der Mantisse in die Praxis (hier Java) zu programmieren ist für mich noch nicht so einfach.

Ich weiß, dass ich im Quellcode das irgendwie so schreiben muss, dass die Binär-Eingabe auf der Konsole so umgewandelt werden soll, dass die Zahl darauskommt.

LG

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Someone: 07.02.2016 15:40.

07.02.2016 12:44 Someone ist offline Beiträge von Someone suchen Nehmen Sie Someone in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Gehen wir die Sache mal einfach an (ohne die Sonderfälle).
code:
1:
2:
3:
4:
5:
6:
double zahl = 1; //hidden bit
double gewicht = 0.5; //Wert des nächsten Bit in der Mantisse
for (int bit = MANTISSE_ANFANG; bit <= MANTISSE_ENDE; bit++) {
    if (str.charAt(bit) == '1') zahl += gewicht;
    gewicht /= 2; //nächstes Bit hat nur noch halbes Gewicht
}

Auf die selbe Weise dann noch den Exponenten und das Vorzeichen bearbeiten und für den Exponenten noch if-Abfragen zwecks der Sonderfälle.

__________________
Syntax Highlighting fürs Board (Link)
07.02.2016 19:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » StringToFloat - Aufgabe