Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen

SelinaHuber

Mitglied
Hallo 🙂
Ich habe folgende Aufgabe: Umwandlung einer positiven, reellen Zahl Z10 < 65536 von S10 nach S2
Spezifizieren Sie einen Algorithmus, der eine Java-short-Zahl Z10 in S10 in das Zahlensystem S2 umwandelt!


Die Basis habe ich, jedoch weiß ich nicht wie ich weiter vorgehen sollte. Ich sollte vielleicht 4 arrays anlegen (für Vorzeichen, Exponent, Vorkommazahl, Nachkommazahl) und diese dann alle in einem anderen array zusammenfügen, oder?

Danke schon mal!

[CODE lang="java" title="convert210tos2"]public static char[] convertFromS10toS2Aufgabe4(long R10) {
char[] R100 = {'0', '0', '0','0','0', '0', '0','0','0', '0', '0','0','0', '0', '0','0'};
int i =15;

if (R10 > 0 && R10 < 65536) { //Zahl muss in diesem Wertebereich liegen
System.out.println("Zahl liegt schon mal im richtigen Bereich!");//Überprüfung

//code


} else {
System.out.println("Number between 0 and 65536");//wenn nicht dann diese Meldung
}

return R100;
}[/CODE]
 
Ich würde mal davon ausgehen, dass eine natürliche Zahl gemeint ist.
Ansonsten müsstest du uns mal verraten, wie S10 bzw. S2 bei euch in der Vorlesung / Schule / wasauchimmer definiert wurde.
 
Eine Zahl ins Dualsystem umzuformen, heißt erstmal nichts anderes als die Zahl als Summe von 2er Potenzen zu schreiben:
Code:
75 = 64 + 8 + 2 + 1 = 2^6 + 2^3 + 2^1 + 2^0 = 1001011(2)
Jetzt musst du nur prüfen, ob eine 2er Potenz in der Zahl vorhanden ist. Dafür gibt es das binäre Und (&):
Code:
if ((zahl & potenz) != 0) { ; bedeutet dass die 2er Protenz "potenz" in der "zahl" vorhanden ist
}
Beginne also bei "potenz = 1" und multipliziere potenz immer um 2. So iterierst du über die 2er Potenzen 1, 2, 4, 8, 16...
 
danke! Kann mir irgendjemand verraten, wie ich einer Methode mehrere Argumente mitgebe?
ALso hier will ich gliech mehrere Zahlen berechnen lassen und möchte auch mehrere einfach reinschreiben, geht das ?
Java:
char[] JS101 = Convert.convertFromS10toS2Hausaufgabe1((short) 7);
 

Neue Themen


Zurück
Oben