Skip to main content

Java Duales Zahlensystem – Binäre Zahlen in Java umwandeln

Das duale Zahlensystem hat viele Bezeichnungen.
Oft wird auch es Dualsystem oder Binärsystem genannt.
Es besteht aber immer aus 2 Zahlen.

Man verwendet oft die Zahlen 0 und 1.
Es können aber auch sämtliche anderen Zahlenpaare sein.
Zum Beispiel 7 und 175 sind für sich genommen, auch ein normales Zahlenpaar und somit ein Dualsystem.

Mit Null und Eins lässt sich aber am Leichtesten umrechnen.
Und daher bilden diese beiden Zahlen einen Standard im Dualsystem.

Wozu brauchst du das Binäre Zahlensystem?
Du benötigst dieses Zahlensystem in der Informatik und Elektronik.
Denn damit lassen sich die Zustände „AN“ und „AUS“ sehr leicht erzeugen.
Aber auch andere Zustände, wie „wahr“ oder „falsch“ lassen sich darstellen.

Diese beiden Zahlen können entsprechend unserem „normalen“ Dezimalsystem verwendet werden.
Du kannst sie addieren, subtrahieren, multiplizieren und dividieren.

Und weil dieses Zahlensystem speziell in der Informatik verwendet wird, haben sich auch entsprechende Größeneinheiten herausgebildet, wie:

  • Bit
  • Byte
  • Kilobyte
  • Terrabyte

In diesem Beitrag zeige ich dir die Grundlagen zum Dualsystem.
Du wirst lernen, wie du eine binäre Zahl in eine Dezimalzahl umwandelst.
Und du erfährst von mir, wie sich die Maßeinheiten in der Informatik berechnen lassen.

Der Unterschied zwischen dem Dualen Zahlensystem und dem Dezimalen Zahlensystem

Unser normales Zahlensystem heißt Dezimalsystem.
Die mathematische Grundlage dieses System umfasst 10 Ziffern.
Und zwar die Ziffern 0 bis 9.

Mittels Kombination dieser 10 Ziffern lassen sich alle Dezimalzahlen darstellen.
Zum Beispiel ist die Zahl 653 eine Kombination aus den Ziffern 6, 5 und 3.

Aber nicht nur das.
Denn alle Zahlen im Dezimalsystem bestehen aus 10-Potenzen.

Java Duale Zahl in Dezimalzahl umrechnen

Die Zahl 653 ist demnach in einer Potenzschreibweise nichts anderes als die Summe aus:

  • 6 * 10 hoch 2
  • 5 * 10 hoch 1
  • 3 * 10 hoch 0.

Halten wir fest.
Zehn Ziffern und somit ist jede Zahl, als 10-Potenz darstellbar.

Wenn du jetzt die dualen Zahlen einmal anschaust, bestehen diese lediglich aus zwei Ziffern.
Meistens sind es die 0 und die 1.

Und wenn dieses Binärsystem den selben Regeln folgt, wie das Dezimalsystem – dann müssten sich alle Zahlen als zweier Potenz darstellen lassen.
Und so ist es auch.

Die Umrechnung einer Binärzahl in eine Dezimalzahl

Beginnen wir mit einer kleinen und leichten Zahl.
Der binären Zahl 101.

Welche dezimale Zahl verbirgt sich hinter der binären Zahl 101?
Wäre die Zahl 101 dezimal, würden wir diese als 10-Potenz darstellen und die Summe ermitteln.

Java Dual System Dezimalzahl

Da sie aber eine duale oder binäre Zahl ist, musst du statt der 10-er Potenz – die zweier Potenz ansetzen.
Und dann wiederum die Summe ermitteln.
Java duale Zahl in Dezimalzahl umwandeln

  • 1 mal 2 hoch 2 = 4
  • 0 * 2 hoch 1 = 0
  • 1 * 2 hoch 0 = 1

Und die Summe ist dann Fünf.
Denn 4 + 0 + 1 =5
Die binäre Zahl 101 entspricht somit in einer Dezimalschreibweise der Zahl 5.

Zweites Beispiel ist etwas schwieriger und länger.
Die binäre Zahl 100010111.

Für einen besseren Überblick, bietet es sich an, von hinten anzufangen.
Du beginnst also nicht mit der höchsten Potenz – sondern mit der niedrigsten.
Dies hat den Vorteil, dass du mit der Null-Potenz beginnst und dann hochzählst.

Beginnen wir also von hinten.
Die letzte Ziffer ist die 1.
Somit wäre dies dann 1 * 2 hoch 0. Und dies wäre 1.

Hier die komplette Umrechnung:

  • 1 * 2 hoch 0 = 1
  • 1 * 2 hoch 1 = 1
  • 1 * 2 hoch 2 = 4
  • 0 * 2 hoch 3 = 0
  • 1 * 2 hoch 4 = 16
  • 0 * 2 hoch 5 = 0
  • 0 * 2 hoch 6 = 0
  • 0 * 2 hoch 7 = 0
  • 1 * 2 hoch 8 = 256

Die Summe aus 256 + 16 + 4 + 1 + 1 ist dann 279.
Die binäre Zahl 100010111 entspricht somit der Dezimalzahl 279.

Was bedeuten demnach die Bits und Bytes in einem Binärsystem?

Im Dezimalsystem findest du ebenfalls Einheiten, wie Millimeter, Zentimeter oder Dezimeter.
Diese lassen sich alle, als 10-er Potenz darstellen.

  • Milli von Millimeter bedeutet ein Tausendstel Meter und somit 10 hoch -3.
  • Zenti von Zentimeter bedeutet ein Hundertstel Meter und somit 10 hoch -2.
  • Dezi von Dezimeter bedeutet ein Zehntel Meter und somit 10 hoch -1.
  • Nicht ganz so geläufig aber – Deka von Dekagramm bedeutet Zehnfach und somit 10 hoch 1.
  • Hekto von Hektoliter bedeutet Hundertfach und somit 10 hoch 2.
  • Kilo von Kilogramm bedeutet Tausendfach und somit 10 hoch 3.
  • Mega von Megatonnen bedeutet Millionenfach und somit 10 hoch 6.

Bits und Bytes sind auch nur Einheiten.
Jedoch basieren diese auf die zweier-Potenzen des Dualsystems.

Ein Bit ist die kleinste Einheit.
Es kann genau einen Zustand speichern.

  • 0 oder 1
  • Wahr oder Falsch
  • An oder Aus

Der Datentyp boolean, welchen Java und auch andere Programmiersprachen verwenden – entspricht einem Bit.
In einer Variablen vom Datentyp boolean kann somit genau ein Zustand – wahr oder falsch – gespeichert werden.

Da sich mit so einem Bit noch nicht viel anfangen lässt, fasst man mehrere Bits in einem Byte zusammen.
Und zwar 8.
8 Bits sind ein Byte.

Ein Byte kann insgesamt 256 Zustände speichern.

Die kleinste binäre Zahl ist die 0.
Da ein Byte 8 Bits speichert, kann der Zustand Null – 8 mal auftreten.

In Byteschreibweise wäre demnach der kleinste Zustand dann 8 mal die Null: 00000000.
00000000 wie auch nur eine binäre 0 entspräche der Dezimalzahl 0.

Jetzt sind bei 8-Ziffern aber jede Menge Kombinationen möglich.

Echt?
Schauen wir uns die Kombinationen der ersten drei Stellen einmal an.

  1. 00000000
  2. 10000000
  3. 11000000
  4. 11100000
  5. 00100000
  6. 01000000
  7. 01100000
  8. 10100000

Du hast bei drei Stellen schon acht Möglichkeiten die 0 und 1 zu kombinieren.
Dies entspricht der Potenz 2³.

Insgesamt ergeben sich:
= 1*27 + 1*26 + 1*25 + 1*24 + 1*23 + 1*22 + 1*21 + 1*20
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
=255
Wobei die Null, als Byteschreibweise 00000000, noch nicht enthalten ist.
Es ergeben sich somit 256 Möglichkeiten oder 2 hoch 8 Möglichkeiten.

256 Möglichkeiten sind immer noch nicht genug.
Und deshalb wurden, im Laufe der Zeit, immer größere Zustands-Speicher-Möglichkeiten geschaffen.

Terrabyte, Kilobyte, Megabyte und Gigabyte

  • Ein Kilobyte sind ca. tausend Byte. Genauer: 2 hoch 10 Byte = 1.024 Byte
  • Ein Megabyte sind ca. eine Millionen Byte. Genauer: 2 hoch 20 Byte = 1.048.576 Byte
  • Ein Gigabyte sind ca. eine Milliarde Byte. Genauer: 2 hoch 30 Byte = 1.073.741.824 Byte
  • Ein Terrabyte sind ca. eine Billionen Byte, Genauer 2 hoch 40 Byte = 1.099.511.627.776 Byte

Zusammenfassung:

  • In der Informatik spielt das Dualsystem eine wichtige Rolle.
  • In jedem Binären Zahlensystem existieren immer nur zwei Zahlen.
    Normalerweise verwendet man die Zahlen 0 und 1, da sich mit diesen leichter rechnen lässt.
  • 0 und 1 kann dabei jeder Zustand sein: „AN“ und „AUS“ bzw. „TRUE“ und „FALSE“.
  • Beim Umrechnen von Binärzahlen in Dezimalzahlen, ersetzt du lediglich die Zehnerpotenz aus dem Dezimalsystem – durch eine Zweierpotenz.
    Die Summe aller Zweierpotenzen ist dann die Dezimalzahl.

Ähnliche Beiträge

So kannst du Java Arrays anlegen

Java Arrays anlegen

Java Arrays– Was ist das? Stell es dir einmal als ein Bücherregal vor. In einem Bücherregal befinden sich sämtliche Bücher. Und diese befinden sich schön nebeneinander. Jedes Buch hat seinen festen Platz. Du kannst die Bücher ganz genau lokalisieren. Zum Beispiel kannst du sagen. Das erste Buch von links Das dritte von rechts usw. Und […]

Java Übung 31: Speichere deine Würfe im Array

Java Übung Array Würfelspiel

In dieser Java Übung soll ein Würfelspiel simuliert werden. Lege eine Klasse namens, Würfelspiel an. Diese Klasse enthält eine statische Methode, namens würfeln(). Diese Methode erwartet einen Parameter vom Datentyp Integer, namens „anzahlWuerfe“. Diese Variable/Parameter repräsentiert die Anzahl der Würfe. Nachdem der Methode die Anzahl der Würfe übergeben wurde, soll die Methode Zufallszahlen zwischen 1 […]

Java Objekte leben auf dem Heap

Java-Objekte-Heap

Java hat eine interne Speicherverwaltung. Eigentlich ist es nicht nur eine. Es sind mehrere.   Uns interessieren nur zwei. Methoden und lokale Variablen werden auf dem Stack verwaltet. Und die Speicherverwaltung für Java Objekte und den Instanzvariablen findet auf dem Heap statt.   Ja wieso braucht Java eigentlich zwei Speichersysteme?   Es ist ganz einfach. […]

Das Instanzieren von Java Klassen verhindern

Java Objekte Instanzieren verhindern

Die Instanzierung von Java Klassen verhindern. Was heißt das? Instanzen sind die Objekte einer Java Klasse. Und Instanzieren oder Instanzierung heißt nichts anderes, als Objekterstellung. Aber was soll das? Oder mal anders gefragt: Wieso sollte man verhindern, dass eine Java Klasse – Objekte erstellen kann? Schließlich sind doch Objekte der Sinn und Zweck jeder objektorientierten […]

So kannst du deine Java Methoden ausführen

Java Methoden ausführen

Du hast die ersten Java Methoden erstellt. Doch wie greifst du jetzt auf diese zu? Wie kannst du diese Methoden in einer anderen Klassen aufrufen? Welcher Unterschied, hinsichtlich des Methodenaufrufes, besteht eigentlich zwischen deinen Java Methoden? Diese Fragen möchte ich gern in diesem Beitrag beantworten. Gehen wir dazu in den Garten und schauen uns Blumen […]

8 Java Datentypen, die du kennen solltest

Java Datentypen

Java Datentypen Ich gebe zu, ich hasse dieses Thema. Denn es ist eigentlich nichts weiter als graue Theorie. Dennoch müssen wir dieses Thema behandeln. Um schnell in das Thema zu kommen, stelle ich dir eine Übersicht aller primitiven Datentypen zur Verfügung. Wieso primitive? Es gibt außer den primitiven Datentypen, noch Referenztypen. Und diese Referenztypen sind […]

Java Konsolenausgaben mit formatierten Zahlen

Java Konsolenausgaben Zahlen

Java Konsolenausgaben erzeugst du mit der System.out.println()-Anweisung. Dies ist relativ einfach. Aber es ist mitunter nicht ganz praktisch. Und zwar immer dann, wenn Zahlen im Spiel sind. Die Zahlen welche dann auf deiner Java Konsole erscheinen, sind unformatiert. Sie haben zu viele Kommastellen. Oder für eine bessere Darstellung benötigst du den Tausenderpunkt. Vielleicht möchtest du […]

Verwalte deine Java Klassen in packages

java klassen verwalten

Es macht durchaus Sinn deine Java Klassen in verschiedenen Paketen zu organisieren. Wieso? Es sprechen mehrere Gründe dafür: Du kannst doppelte Klassennamen verwenden Du kannst deinen Code oder deine Klassen inhaltlich trennen Du kannst Hierarchien abbilden. Und genau um diese Dinge geht es in diesem Beitrag

Java Übung: Alles beginnt mit Hello World

Java Übung Hello World

Alles beginnt mit „Hello World“. Sämtliche Java Bücher beginnen mit diesem ersten Beispiel. Auch die Java Übungen sollen mit diesem ersten Programm starten. Definiere eine Klasse „Hello World“. Implementiere die Main Methode. Die Main Methode soll bei Programmaufruf die Bildschirmanzeige „Hallo Welt“ zurückgeben. Die Lösung zur Java Übung „Hallo Welt“ public class HelloWorld{ public static […]

So kannst du deine Eclipse Oberfläche anpassen

Eclipse anpassen

In diesem Beitrag möchte ich dir zwei ganz nette Features von Eclipse vorstellen. Es geht um Views und um Perspektiven. Wie du schon weißt, besteht Eclipse aus einer grafischen Oberfläche. Und in dieser Oberfläche stehen dir verschiedene Views zur Verfügung. Was ist so ein View?

Java Vererbung findet auch zwischen Einkaufstüten und Polizeiautos statt

Java Vererbung

„Manchmal findet Java Vererbung auch zwischen Einkaufstüten und Polizeiautos statt“ Irrer Titel, oder? Aber mal Hand aufs Herz. Was haben eigentlich eine Einkaufstüte und ein Polizeiwagen gemeinsam? Ich verrate dir etwas: Du kannst die Verbindung nicht erkennen, denn ich habe dir nicht alles verraten. Es fehlt noch ein wichtiger Aspekt – eine Verbindung zwischen beiden. […]