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

3 Möglichkeiten – Java Strings verketten und zusammenfügen

Java Strings verketten

Kennst du dieses Relikt längst vergangener Tage? Ein Brief. Ja früher einmal war es üblich, Briefe zu schreiben. Lange bevor es Smartphones oder Email gab. Man stelle sich einmal vor…. Die Leute mussten sich hinsetzen mit einem Blatt und einem Stift – und richtig schreiben. Nein nicht tippen – schreiben. 🙂 Grausame Welt, oder? Aber […]

So kannst du in Java Und Verknüpfung anlegen und auswerten

Java Und

In Java stehen dir eine Menge Operatoren zur Verfügung. Einer dieser Operatoren ist der Und-Operator. Dies ist ein logischer Operator, da dieser sogenannte Wahrheitswerte mit einander verknüpft. Also…. Was erwartet dich in diesem Beitrag? Zuerst möchte ich dir die Aussagenlogik hinter dem Und-Operator zeigen. Also wann sind Aussagen wahr und wann sind diese falsch. Dann […]

Java lernen durch ständiges Testen – Nutze die Testumgebung von Eclipse

Java Programmierung lernen

Probieren geht über studieren Wenn du wirklich Java Programmierung lernen möchtest, dann solltest du Java nicht aus einem Buch lernen. Du solltest auch nicht strikt von dieser oder anderen Webseiten lernen. Etwas wirklich zu lernen, setzt die Bereitschaft voraus, etwas zu probieren. Denn nur durch eigenes Probieren gelangst du zum Wesentlichen. Durch Probieren wirst du […]

Die sechs Bestandteile von Java Methoden

Java Methoden Bestandteile

Java Methoden hauchen deinem Java Programm Leben ein. Ohne eine Methode würde deine Java Klasse ein starres Konstrukt sein. Deine Objekte hätten Eigenschaften. Aber sie könnten nichts machen. Und das wäre eine trostlose Welt. Java Methoden sorgen also dafür, dass Objekte interagieren. Methoden bestehen aus bestimmten Bausteinen. Und diese Bausteine bestimmen, was die Methode darf […]

So nutzt du Methoden aus der Java String Klasse

Java Strings Methoden

In einen der letzten Beiträge haben wir darüber gesprochen, dass Java Strings – Objekte sind. Dass Strings in allen Programmen äußerst häufig vorkommen Und dass sich deshalb Referenzvariablen String-Objekte im String Pool teilen. Das Konzept hinter dem String-Pool ist die Teilung der Ressourcen. Und das bedeutet: Weniger Objekte – mehr Speicher Mehr Speicher – bessere […]

Der Aufbau von Java Klassen

Java Klassen Aufbau

Jedes Java Programm besteht aus Java Klassen. Doch wie sind diese aufgebaut? Wie setzt sich die Struktur zusammen? Wo befinden sich Klassen hierarchisch? Was kommt in die Klassen rein und wie wird es integriert? Das sind die Fragen, welche ich in diesem Artikel beantworten werde. Doch bevor wir bei den Klassen ansetzen, müssen wir eine […]

Polymorphie bringt Vorteile für Java Arrays

Java Polymorphie Arrays

Wenn Java Arrays, Schubladen oder Container sein sollen… Dann wäre der Gebrauch einer solchen Schublade ziemlich einseitig und festgefahren. Denn in jedes Array passen zwar mehrere Daten – aber immer nur vom gleichen Datentyp. Immer gleicher Datentyp? Also eine Schublade nur für Socken, Unterwäsche und der ganze andere Kram passt dann eben nicht hinein. Um […]

So kannst du ein Java Programm starten und Argumente übergeben

Um ein Java Programm starten zu können, benötigst du immer die main-Methode. Das Programm startet immer genau an dieser Stelle. Alle lokalen Variablen, welche du in der Main Methode anlegst, kannst du dann im Programm nutzen. Auch alle Methoden, welche du innerhalb des Methodenrumpfes der main-Methode aufrust, werden ausgeführt. Was ist aber vor der main-Methode. […]

So kannst du Java Konstruktoren anlegen und überladen

Java Konstruktoren

Der Name sagt es schon. Java Konstruktoren konstruieren oder bauen Java Objekte. Und diese Objekte baut der Konstruktor auf Vorlage der entsprechenden Java Klasse. In diesem Beitrag zeige ich dir natürlich verschiedene Ansätze wie du den Konstruktor einsetzt. Ich zeige dir dies Schritt für Schritt. Dabei zeige ich dir auch verschiedene Dinge, welche nicht funktionieren. […]

Eine Java Konsoleneingabe machst du über den Scanner

Es wird Zeit für die erste Java Konsoleneingabe. Und diese Eingaben machst du über den Java Scanner. Was ist das? Der Scanner ist eine vorgefertigte Java Klasse, welche Java mit seiner API anbietet. Das heißt du musst nichts selbst erschaffen. Du musst nur wissen, wie du darauf zugreifst. Erst einmal musst du einen Scanner anlegen. […]