Um eine positive ganze Zahl darzustellen, müssen wir Binärzahlen in Dezimalzahlen umwandeln. Dies geschieht, indem wir das i-te Bit mit 2i multiplizieren. Also wird das äußerste rechte Bit mit 20 oder 1 multipliziert, das zweitäußerste Bit mit 21 oder 2, das drittäußerste Bit mit 22 oder 4 und so weiter.

1010 binär ist also: 1*23+ 0*22+1*21+0*20 = 8+0+2+0 = 10 dezimal

Eine andere Möglichkeit, es auszudrücken: Wir beginnen mit dem rechtesten Bit und gehen nach links und ordnen jedem Bit, das 1 ist, 1,2,4,8,16,32 usw. zu.
Wir können auch eine Binärzahl nehmen und sie in Binärzahlen umwandeln. Dazu schreibt man die Basis-10-Werte der einzelnen Bits auf, bis man einen Wert findet, der größer ist als die Zahl, die man umrechnen möchte. Für die Basis-10-Zahl 155 würden wir also die Werte ausschreiben, die den folgenden entsprechen:
Wert: 256 128 64 32 16 8 4 2 1
Um 155 zu erhalten, können wir das 256er-Bit nicht setzen, aber wir können ein 128er-Bit haben, also setzen wir dort eine ‚1‘ ein.
Wert: 256 128 64 32 16 8 4 2 1
0 1
Wir brauchen noch 155-128=27. 64 und 32 sind zu groß, also setzen wir dort 0en und eine 1 auf 16:
Wert: 256 128 64 32 16 8 4 2 1
0 1 0 0 1
Wir brauchen immer noch 155-128-16=11. Wir geben also der 8-wertigen Ziffer eine 1. Wir brauchen noch 3 weitere, also setzen wir eine 0 in den 4-Wert und 1en in den 2-Wert und 1-Wert. So erhalten wir die Binärzahl:
Wert: 256 128 64 32 16 8 4 2 1
0 1 0 0 1 1 0 1 1
So entspricht 155 dezimal 010011011 binär.
Ganzzahlen werden im Allgemeinen mit 4 Byte (32 Bit) oder auf 64-Bit-Computern oft mit 8 Byte belegt.
Darstellung von Fließkommazahlen
Fließkommazahlen werden ähnlich wie Ganzzahlen dargestellt, aber einige Bits sind für den Bruchteil der Zahl reserviert. Aus diesem Grund werden Fließkommazahlen im Allgemeinen mehr Bits zugewiesen (z.B. 64 statt 32).
Beispiel: Nehmen wir an, wir würden eine Gleitkommazahl mit 6 Bits darstellen, wobei die 2 ganz rechten Bits der Nachkommastelle entsprechen. Was wäre dann der Wert von:
101010?

Zeichen und Zeichenketten

Jedes Symbol auf der Tastatur – Buchstaben, Ziffern usw. – wird intern im Speicher eines Computers durch eine Zahl dargestellt. Wir nennen sie Zeichen.
Die Zuordnungen zwischen Zahlen und Symbolen sind in der ASCII-Tabelle definiert: http://www.lookuptables.com/.
Die Zuordnungstabelle war als ASCII-Tabelle oder ASCII-Code bekannt. Bei ASCII wurde jedes Symbol durch eine Zahl zwischen 0 und 255 dargestellt (Frage: Wie viele Bits sind erforderlich, um eine solche Zahl zu speichern?)

Um nicht nur auf die englische Sprache beschränkt zu sein, verwenden moderne Computersysteme jetzt Unicode, der viele verschiedene Sprachen darstellen kann und zusätzliche Bits zur Darstellung jedes Symbols erfordert. Aber für englische Symbole kann immer noch die ASCII-Tabelle verwendet werden, um den Wert jedes Symbols nachzuschlagen.
Eine Zeichenkette ist eine Folge von Zeichen, z.B. „Hund“. Intern speichern wir die Unicode-Nummer für jedes Zeichen und ein spezielles Zeichen am Ende der Zeichenkette. Das Wort „Hund“ besteht also aus der Unicode-Nummer für „d“, der Unicode-Nummer für „o“, dem Unicode-Zeichen für „g“ und schließlich dem Zeichen für das Ende der Zeichenkette, das „\0“ ist. d‘ ist in der ASCII-Tabelle 100 dezimal, so dass „dog“ mit den folgenden Dezimalzahlen (gespeichert in je 16 Bit) dargestellt wird:
100 111 103 0
Zahlen werden im Allgemeinen als ganze Zahlen gespeichert, wie oben erläutert. Aber wenn wir Eingaben vom Benutzer erhalten oder Werte anzeigen, müssen wir mit Zahlen umgehen, die als eine Folge von Ziffern dargestellt werden. Genau wie bei Buchstaben sind Ziffern Zeichen. Die Ziffer ‚0‘ ist die Unicode-Nummer 48 und ‚9‘ ist die Unicode-Nummer 57. Die Zeichenkette ‚724‘ wird intern gespeichert als: 55 50 52 0

Arbeitsblatt

1. Betrachte die folgenden sechzehn Bits:

0000 0000 0100 1101

a. Wie hoch ist der Wert der Zahl, wenn sie eine positive ganze Zahl darstellt?
b. Wenn die Bitfolge ein Symbol darstellt, welches Symbol ist es dann? Du kannst die ascii lookup table http://www.lookuptables.com/

2. Computer hatten früher 64K Speicher. Was ist K? Ist es eine runde Zahl? Warum arbeiten Informatiker nicht mit schönen runden Zahlen wie 1000?
3. Was ist ein Megabyte? Ein Gigabyte? Was sind tausend Gigabyte? Eine Million Gigabyte?
4. Zeigen Sie, wie die folgenden drei Basis-10-Zahlen in binärer Form dargestellt werden würden.

24 1025 43

5. Zeigen Sie, wie „Katze“ in Bits dargestellt wird?
6. Wie viele mögliche Zeichen können mit Unicode (16 Bits) dargestellt werden?
7. Was ist die größte ganze Zahl, die in 4 Bytes dargestellt werden kann, wenn wir nur positive Zahlen betrachten?
8. Wenn wir auch negative Zahlen betrachten, was ist die größte ganze Zahl, die mit vier Bytes dargestellt werden kann? Wie werden Ihrer Meinung nach negative Zahlen dargestellt?
9. Schreibe eine Python-Funktion, die eine Zeichenkette von Ziffern als Parameter annimmt und eine Ganzzahl zurückgibt, die der Basis-10-Wert dieser Ziffern ist, z.B. wenn der Parameter „723“ ist, gibt die Funktion die Ganzzahl 723 zurück (Ja, ich weiß, Python hat eine int-Funktion – du schreibst sie hier).
10. Schreiben Sie eine Python-Funktion, die eine Zeichenkette mit Basis-10-Ziffern als Parameter annimmt und eine Zeichenkette mit Basis-2-Ziffern zurückgibt, so dass die Basis-2-Ziffern der umgewandelte Wert der ursprünglichen Basis-10-Ziffern sind. Wenn zum Beispiel „11“ eingegeben wird, würde die Funktion „1011“ zurückgeben.
Arbeiten Sie die obigen Fragen mit Bleistift und Papier aus. Wenn du fertig bist, kannst du deine Antworten zur Binärumrechnung hier überprüfen: http://mistupid.com/computers/binaryconv.htm
Hilfe zur Binärumrechnung:

Binärzahlen von CSUNPLUGGED

Binärzahlen in 60 Sekunden

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht.