Dezimal- zu Binärsystem

lukukian

Mitglied
Hallo Leute!
Ich hab die Aufgabe bekommen, unter anderem eine Methode zu schreiben, die eine Dezimal- in eine Binärzahl umwandelt. Eigentlich einfach, dachte ich mir, bis ich die Methode ausgeführt hab.
Hier mein Code:
Java:
public static int decimalToBinary(int i) {
        int binary = 0;
        int j = 0;
        while (i/2 != 0) {
            if (i % 2 == 1) {
                binary += Math.pow(10, j);
                }
            i /= 2;
            j++;
        }
       
        return binary;
    }
Wenn ich jetzt zum Beispiel 73 eingebe, kommt 1001 raus, wo eigentlich 1001001 rauskommen müsste. Ich finde den Fehler nicht und hoffe sehr, dass mir hier jemand helfen kann.
Danke schonmal, Lukukian!
 

lukukian

Mitglied
Nö, würd ich nicht, hab aber das Problem in dieser Sekunde gelöst. Hier nochmal der richtige, funktionierende Code:

Java:
    public static int decimalToBinary(int decimal) {
        int binary = 0;
        int j = 0;
        while ((decimal* 10) /2 != 0) {
            if (decimal % 2 == 1) {
                binary += Math.pow(10, j);
                }
            decimal /= 2;
            j++;            
        }
        return binary;
    }

Also, es war Teil der Aufgabe, das ganze nicht als String darzustellen, das hätte ich vielleicht dazusagen sollen, sorry! :D Schönen Abend noch! :)
 
X

Xyz1

Gast
Java:
    public static void main(String[] args) {
        System.out.println(decimalTo(123, 2));
        System.out.println(decimalTo(1231231231231231231l, 2));

        System.out.println(decimalTo(123, 4));
        System.out.println(decimalTo(1231231231231231231l, 4));

        System.out.println(decimalTo(123, 8));
        System.out.println(decimalTo(1231231231231231231l, 8));

        System.out.println(decimalTo(123, 16));
        System.out.println(decimalTo(1231231231231231231l, 16));

        System.out.println(decimalTo(123, 32));
        System.out.println(decimalTo(1231231231231231231l, 32));

        System.out.println(decimalTo(123, 64));
        System.out.println(decimalTo(1231231231231231231l, 64));
    }

    private static String decimalTo(long decimal, int basis) {
        int digsIndex = 0;
        char[] digs = new char[64];
        for (char i = '0'; i <= '9'; i++) {
            digs[digsIndex++] = i;
        }
        for (char i = 'A'; i <= 'Z'; i++) {
            digs[digsIndex++] = i;
        }
        for (char i = 'a'; i <= 'z'; i++) {
            digs[digsIndex++] = i;
        }
        for (char i = '*'; i <= '+'; i++) {
            digs[digsIndex++] = i;
        }
        StringBuilder builder = new StringBuilder();
        while (decimal != 0) {
            long n1 = decimal % basis;
            long n2 = decimal / basis;
            builder.append(digs[(int) n1]);
            decimal = n2;
        }
        while (builder.length() < 32) {
            builder.append('0');
        }
        for (int i = 4; i < builder.length(); i += 5) {
            builder.insert(i, ' ');
        }
        return builder.reverse().toString();
    }

- decimal sollte nicht negativ sein
- basis sollte schon sowas wie Vielfaches von 2 sein
- Base64 geht eigentlich von A bis Z bis a bis z bis 0 bis 9 bis + und / ABER das war mir jetzt zu blöd.
Code:
0000 0000 0000 0000 0000 0000 0111 1011
1 0001 0001 0110 0011 0110 0100 1000 0000 1101 1110 0111 1000 0100 1111 1111
0000 0000 0000 0000 0000 0000 0000 1323
0101 0112 0312 1020 0031 3213 2010 3333
0000 0000 0000 0000 0000 0000 0000 0173
0000 0000 0001 0426 1544 4015 7170 2377
0000 0000 0000 0000 0000 0000 0000 007B
0000 0000 0000 0000 1116 3648 0DE7 84FF
0000 0000 0000 0000 0000 0000 0000 003R
0000 0000 0000 0000 0001 25HM 906U F17V
0000 0000 0000 0000 0000 0000 0000 001x
0000 0000 0000 0000 0000 014M DaWD vuJ+

Wenn dir der Antwort gefällt spendier' nen Daumen. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
S Algorithmus (reelle Zahl <65536 von dezimal zu dual) max. 10 Nachkommastellen Java Basics - Anfänger-Themen 4
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
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
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
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
W Umwandeln von Dezimal in Dual - Ausgabe incl. Rechenschritte Java Basics - Anfänger-Themen 11
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
F Erste Schritte [GUI] Dual in Dezimal rechnen 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
M Verständnisfrage zur Zahlenumwandlung (Dezimal-->Dual) Java Basics - Anfänger-Themen 25
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
S Dual in Dezimal umwandeln? Java Basics - Anfänger-Themen 24
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
O Dezimal in Dual...Arraygröße & Runden Java Basics - Anfänger-Themen 4
X Dezimal/-Hexcode in lebares format umwandeln Java Basics - Anfänger-Themen 4
S dezimal od. hexadezimal Java Basics - Anfänger-Themen 3
J Binärsystem Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben