Code Post Bits

Maschinencode

Was ist Maschinencode eigentlich?

Das ist die Sprache, in der unsere Computer “reden” und die sie als einzige verstehen. So wie wir Menschen durch Worte miteinander kommunizieren, kommuniziert ein Computer mit den verschiedensten Kompontenten über die Maschinensprache.

Wie das aussieht?

Das kann so aussehen:

01010011 01101111 00100000 01110011 01101001 01100101 01101000
01110100 00100000 01001101 01100001 01110011 01100011 01101000
01101001 01101110 01100101 01101110 01100011 01101111 01100100
01100101 00100000 01100001 01110101 01110011 00101110

Wie das klingt?

Wahrscheinlich wie Strom. Denn mehr sind diese Nullen und Einsen eigentlich nicht. Sie repräsentieren das Ein- und Ausschalten von Schaltern in deinem Computer. Stell dir vor du hast einen Stromschalter auf dem, anstelle von An und Aus, eine Eins und Null steht. Und jedes Mal wenn der Schalter auf Eins steht, fließt Strom. Andersrum bei Null fließt dann kein Strom.

Von Bits und Bytes

Eine einzelne Null oder eine einzelne Eins wird als Bit bezeichnet:

1 entspricht einem Bit bzw. 1 Bit
0 entspricht einem Bit bzw. 1 Bit

Fasst man vier Einsen oder Nullen zusammen (egal in welcher Konstellation), sind das dann 4 Bit.

1001 entspricht 4 Bit
011  entspricht 3 Bit

Bei 8 Bit verwendet man einen anderen Begriff: Byte.
8 Bit sind 1 Byte.

1010 0101            entspricht 1 Byte bzw. 8 Bit
0011 1100 1000       entspricht 12 Bit
0101 0100 1101 01011 entspricht 2 Byte bzw. 16 Bit

Da hier nur zwei verschiedene Ziffern zum Einsatz kommen, die Eins und die Null, nennt sich dies auch Binärcode.

Was hat das mit Programmieren zu tun?

Gute Frage! Wenn du eine Nachricht über einen Messenger an deine Freunde schreibst, beispielsweise folgendes:

Hi Alice,
hast du schon das neue Video von Bob gesehen?

Dann schickt dein Smartphone oder der PC nicht einfach genau diesen Text. Dieser Text wird dann in Maschinencode (oder auch Binärcode genannt) übersetzt und würde dann so aussehen:

01001000 01101001 00100000 01000001 01101100 01101001 01100011
01100101 00101100 00001010 01101000 01100001 01110011 01110100
00100000 01100100 01110101 00100000 01110011 01100011 01101000
01101111 01101110 00100000 01100100 01100001 01110011 00100000
01101110 01100101 01110101 01100101 00100000 01010110 01101001
01100100 01100101 01101111 00100000 01110110 01101111 01101110
00100000 01000010 01101111 01100010 00100000 01100111 01100101
01110011 01100101 01101000 01100101 01101110 00111111

Das wird dann an das Smartphone oder den PC deiner Freunde geschickt, zurück in leserlichen Text übersetzt und schon könnt ihr kommunizieren.

Beim Programmieren ist das ähnlich. Wenn du Programmcode schreibst, dann tust du das in den meisten Fällen in einer Sprache, die du als Mensch gut lesen kannst. Die Befehle, also das was der Computer dann tun soll wenn dein Programm läuft (z.B. Musik abspielen), wird dann ebenfalls in Maschinencode übersetzt, an die richtige Stelle im Computer geschickt (bei Musik z.B. die Soundkarte) und dort dann verarbeitet so dass du am Ende die Musik aus deinem Gerät hören kannst.

Das trifft auf alles zu, was du mit dem Gerät machst:

Merke

Maschinencode ist die Sprache der Computer.
Bits und Bytes beschreiben eine Teilmenge dieser Sprache.
Dein Computer übersetzt alles was du tust in Binärcode und kann es dann ausführen.

Hier geht es weiter zum nächsten Thema: Binärcode