Zahlensysteme, Zweierpotenzen und Binärzahlen – IT-Berufe-Podcast #181

Um Zahlensysteme, Zweierpotenzen und vor allem Binärzahlen geht es in der einhunderteinundachzigsten Episode des IT-Berufe-Podcasts. Der Inhalt ist auch als Video bei YouTube verfügbar.

Probeabo bei Audible (Affiliate)

Zahlensysteme, Zweierpotenzen und Binärzahlen

Zweierpotenzen und Binärzahlen begegnen uns in der IT-Ausbildung an vielen Stellen. In dieser Episode erkläre ich die Funktionsweise von Zahlensystemen (Binär, Oktal, Dezimal, Hexadezimal) und gebe Beispiele für den Praxiseinsatz.

Das Video zu dieser Episode findest du bei YouTube hier: Zahlensysteme, Zweierpotenzen und Binärzahlen.

Zahlensysteme, Zweierpotenzen und Binärzahlen bei YouTube

Zahlen vs. Ziffern

Zahlen werden aus einzelnen Ziffern zusammengesetzt. Die Dezimalzahl 123 besteht z.B. aus den Ziffern 1, 2 und 3. Die bekannten Zahlensysteme haben unterschiedlich viele Ziffern:

  • Dualsystem: 0 und 1
  • Oktalsystem: 0 bis 7
  • Dezimalsystem: 0 bis 9 (unsere bekannten arabischen Ziffern)
  • Hexadezimalsystme: 0 bis 9 und A bis F

Römische Zahlen

Das römische Zahlsystem hat auch mehrere Ziffern:

  • I = 1
  • V = 5
  • X = 10
  • L = 50
  • C = 100
  • D = 500
  • M = 1.000

Anders als in den anderen Zahlensystemen werden die einzelnen Ziffern hier einfach aufaddiert. So entspricht die Zahl III der Dezimalzahl 3, da I + I + I = 3.

Außerdem können Ziffern abhängig von ihrer Platzierung in der Zahl eine unterschiedliche Bedeutung haben. MCM entspricht z.B. der Dezimalzahl 1900, da das C vor dem M von diesem abgezogen werden muss, also 1000 - 100 = 900 ergibt. MCM = M + (M - C) = 1000 + (1000 - 100) = 1900.

Dezimalsystem und andere gebräuchliche Zahlensysteme

In den anderen Zahlensystemen, die wir in der Informatik häufig verwenden (nämlich Dualsystem, Oktalsystem, Dezimalsystem und Hexadezimalsystem), stehen die Ziffern einer Zahl immer für einen Faktor, der mit der Wertigkeit seiner Stelle multipliziert wird. Die Dezimalzahl 123 steht für 1 * 100 + 2 * 10 + 3 * 1.

Die Wertigkeit der Stelle ergibt sich aus ihrer Potenz mit der Basis des Zahlsystems. Die Basen der Zahlensysteme sind:

  • Dual/Binär: 2
  • Oktal: 8
  • Dezimal: 10
  • Hexadezimal: 16

Nun werden die Stellen der Zahlen von rechts nach links beginnend mit 0 immer um 1 im Exponenten erhöht, um die Wertigkeit der Stelle zu berechnen. Beispiel im Dezimalsystem:

  • 10 ^ 0 = 1
  • 10 ^ 1 = 10
  • 10 ^ 2 = 100
  • 10 ^ 3 = 1.000
  • 10 ^ 4 = 10.000

Dualsystem

Im Dualsystem oder Binärsystem ist die Basis 2, die Wertigkeiten der Stellen der Zahlen lauten also:

  • 2 ^ 0 = 1
  • 2 ^ 1 = 2
  • 2 ^ 2 = 4
  • 2 ^ 3 = 8
  • 2 ^ 4 = 16
  • 2 ^ 5 = 32

Sie steigen also deutlich langsamer an als im Dezimalsystem. Mit jeder Stelle verdoppelt sich die Wertigkeit (im Vergleich zur Verzahnfachung im Dezimalsystem). Um den gleichen Zahlwert darstellen zu können, sind also deutlich mehr Ziffern nötig. Das wird noch deutlicher beim Hexadezimalsystem: Mit einer Ziffer können 16 verschiedene Werte dargestellt werden, also acht Mal so viele wie im Dualsystem.

Beispiel: Die Dezimalzahl 256 wird im Hexadezimalsystem als 100 (1 * 256 + 0 * 16 + 0 * 1) notiert, aber im Dualsystem als 100000000, hat dort also dreimal so viele Ziffern.

Im Dualsystem gibt es die Ziffern 0 und 1, die somit die „binary digits“ (binäre Ziffern) darstellen. Abgekürzt wird daraus Bit (binary digit).

Kombinationsmöglichkeiten

Oft stellen wir uns die Frage, wie viele Kombinationsmöglichkeiten – also unterschiedliche Zahlen – es für eine gegebene Anzahl an Stellen geben kann. Im Dualsystem haben wir pro Stelle zwei Möglichkeiten: 0 und 1, also ein Bit. Für eine Zahl mit einer Stelle ergeben sich also zwei Möglichkeiten: 0 und 1. Für eine Zahl mit zwei Stellen verdoppelt sich die Anzahl der Möglichkeiten:

  • 00
  • 01
  • 10
  • 11

Und mit jeder weiteren Stelle verdoppeln sich die Möglichkeiten wieder, da vor jede bisherige Kombination wieder 0 oder 1 geschrieben werden kann:

  • 000
  • 001
  • 010
  • 011
  • 100
  • 101
  • 110
  • 111

Die Anzahl der Kombinationsmöglichkeiten oder unterschiedlichen Zahlen für eine gegebene Anzahl an Stellen lässt sich berechnen als Potenz aus Basis des Zahlsystems hoch der Stellenzahl. Für eine 5-stellige Dualzahl sind 2 ^ 5 = 32 Kombinationen möglich, für eine 3-stellige Oktalzahl 8 ^ 3 = 512.

Beispiele für Zweierpotenzen

Da in der IT das Dualsystem sehr wichtig ist – denn Computer können nur mit Nullen und Einsen rechnen – begegnen uns in der Praxis häufig immer wieder Zweierpotenzen, da die Basis des Zahlsystems nunmal 2 ist. Daher ist es wichtig, zumindest grob überschlagen zu können, wie viele Kombinationsmöglichkeiten es für eine gegebene Anzahl an Bits gibt. Ein paar wichtige Zweierpotenzen sollte man auch auswendig lernen, damit man nicht jedes Mal wieder nachrechnen muss:

  • 8 Bit = 256 Möglichkeiten: ein Byte, Farbtiefe von GIF-Bildern, Größe eines RGB-Kanals, Länge der Codierung ISO-8859-1
  • 16 Bit = 65.536 Möglichkeiten: Samplingtiefe bei CD-Qualität, Größe eines Netzwerkports, Länge eines Shorts
  • 24 Bit = ca. 16,7 Mio. Möglichkeiten: Standardfarbtiefe von JPG- oder PNG-Dateien (ohne Alpha-Kanal)
  • 32 Bit = ca. 4,3 Mrd. Möglichkeiten: Länge eines Integers, Länge einer IPv4-Adresse, lange Zeit die übliche Verarbeitungsbreite von CPUs
  • 48 Bit (2 * 24 Bit = ca. 16,7 Mio. * 16,7 Mio. Möglichkeiten): Länge einer MAC-Adresse
  • 64 Bit: Länge eines Longs, übliche Verarbeitungsbreite moderner CPUs
  • 128 Bit: Länge einer IPv6-Adresse

Zweierpotenzen im Vergleich

Zum Abschluss habe ich hier noch eine Liste aller Zweierpotenzen bis 128 mit einigen Anwendungsfällen bzw. Namen. Die Beispiele passen natürlich nicht hundertprozentig (z.B. gibt es nicht exakt 2 ^ 33 Menschen auf der Erde und 2 ^ 20 ist nicht genau eine Million), aber vermitteln einen Eindruck ihrer Größe im Verhältnis zu den anderen Zahlen und helfen beim Überschlagen von Ergebnissen.

  • 2 ^ 1 = 2: 1 Bit
  • 2 ^ 2 = 4
  • 2 ^ 3 = 8
  • 2 ^ 4 = 16
  • 2 ^ 5 = 32
  • 2 ^ 6 = 64: BASE64
  • 2 ^ 7 = 128: ASCII
  • 2 ^ 8 = 256: Byte, ISO-8859-1, GIF-Farben
  • 2 ^ 9 = 512
  • 2 ^ 10 = 1.024
  • 2 ^ 11 = 2.048
  • 2 ^ 12 = 4.096
  • 2 ^ 13 = 8.192
  • 2 ^ 14 = 16.384
  • 2 ^ 15 = 32.768
  • 2 ^ 16 = 65.536: UTF-16, Samplingtiefe CD, Größe Netzwerkport
  • 2 ^ 17 = 131.072
  • 2 ^ 18 = 262.144
  • 2 ^ 19 = 524.288
  • 2 ^ 20 = 1.048.576: Million
  • 2 ^ 21 = 2.097.152
  • 2 ^ 22 = 4.194.304
  • 2 ^ 23 = 8.388.608
  • 2 ^ 24 = 16.777.216: Farbtiefe JPG
  • 2 ^ 25 = 33.554.432
  • 2 ^ 26 = 67.108.864
  • 2 ^ 27 = 134.217.728
  • 2 ^ 28 = 268.435.456
  • 2 ^ 29 = 536.870.912
  • 2 ^ 30 = 1.073.741.824: Milliarde
  • 2 ^ 31 = 2.147.483.648
  • 2 ^ 32 = 4.294.967.296: Farben + Alpha PNG, Integer, IPv4
  • 2 ^ 33 = 8.589.934.592: Anzahl Menschen
  • 2 ^ 34 = 17.179.869.184
  • 2 ^ 35 = 34.359.738.368
  • 2 ^ 36 = 68.719.476.736
  • 2 ^ 37 = 137.438.953.472: Elon Musks Vermögen, Sterne in unserer Galaxie
  • 2 ^ 38 = 274.877.906.944
  • 2 ^ 39 = 549.755.813.888
  • 2 ^ 40 = 1.099.511.627.776: Billion
  • 2 ^ 41 = 2.199.023.255.552
  • 2 ^ 42 = 4.398.046.511.104
  • 2 ^ 43 = 8.796.093.022.208
  • 2 ^ 44 = 17.592.186.044.416
  • 2 ^ 45 = 35.184.372.088.832
  • 2 ^ 46 = 70.368.744.177.664
  • 2 ^ 47 = 140.737.488.355.328
  • 2 ^ 48 = 281.474.976.710.656: MAC
  • 2 ^ 49 = 562.949.953.421.312
  • 2 ^ 50 = 1.125.899.906.842.620: Billiarde
  • 2 ^ 51 = 2.251.799.813.685.250
  • 2 ^ 52 = 4.503.599.627.370.500
  • 2 ^ 53 = 9.007.199.254.740.990
  • 2 ^ 54 = 18.014.398.509.482.000
  • 2 ^ 55 = 36.028.797.018.964.000
  • 2 ^ 56 = 72.057.594.037.927.900
  • 2 ^ 57 = 144.115.188.075.856.000
  • 2 ^ 58 = 288.230.376.151.712.000
  • 2 ^ 59 = 576.460.752.303.423.000
  • 2 ^ 60 = 1.152.921.504.606.850.000: Trillion
  • 2 ^ 61 = 2.305.843.009.213.690.000
  • 2 ^ 62 = 4.611.686.018.427.390.000
  • 2 ^ 63 = 9.223.372.036.854.780.000
  • 2 ^ 64 = 18.446.744.073.709.600.000: Long
  • 2 ^ 65 = 36.893.488.147.419.100.000: Kombinationsmöglichkeiten Rubik’s Cube
  • 2 ^ 66 = 73.786.976.294.838.200.000
  • 2 ^ 67 = 147.573.952.589.676.000.000
  • 2 ^ 68 = 295.147.905.179.353.000.000
  • 2 ^ 69 = 590.295.810.358.706.000.000: Quadratmillimeter Erdoberfläche
  • 2 ^ 70 = 1.180.591.620.717.410.000.000: Trilliarde, Liter Wasser auf der Erde
  • 2 ^ 71 = 2.361.183.241.434.820.000.000
  • 2 ^ 72 = 4.722.366.482.869.650.000.000
  • 2 ^ 73 = 9.444.732.965.739.290.000.000
  • 2 ^ 74 = 18.889.465.931.478.600.000.000
  • 2 ^ 75 = 37.778.931.862.957.200.000.000
  • 2 ^ 76 = 75.557.863.725.914.300.000.000: Anzahl Sterne im sichtbaren Universum, Anzahl Sandkörner in der Sahara
  • 2 ^ 77 = 151.115.727.451.829.000.000.000
  • 2 ^ 78 = 302.231.454.903.657.000.000.000
  • 2 ^ 79 = 604.462.909.807.315.000.000.000
  • 2 ^ 80 = 1.208.925.819.614.630.000.000.000: Quadrillion
  • 2 ^ 81 = 2.417.851.639.229.260.000.000.000
  • 2 ^ 82 = 4.835.703.278.458.520.000.000.000
  • 2 ^ 83 = 9.671.406.556.917.030.000.000.000
  • 2 ^ 84 = 19.342.813.113.834.100.000.000.000
  • 2 ^ 85 = 38.685.626.227.668.100.000.000.000
  • 2 ^ 86 = 77.371.252.455.336.300.000.000.000
  • 2 ^ 87 = 154.742.504.910.673.000.000.000.000
  • 2 ^ 88 = 309.485.009.821.345.000.000.000.000
  • 2 ^ 89 = 618.970.019.642.690.000.000.000.000
  • 2 ^ 90 = 1.237.940.039.285.380.000.000.000.000: Quadrilliarde
  • 2 ^ 91 = 2.475.880.078.570.760.000.000.000.000
  • 2 ^ 92 = 4.951.760.157.141.520.000.000.000.000
  • 2 ^ 93 = 9.903.520.314.283.040.000.000.000.000
  • 2 ^ 94 = 19.807.040.628.566.100.000.000.000.000
  • 2 ^ 95 = 39.614.081.257.132.200.000.000.000.000
  • 2 ^ 96 = 79.228.162.514.264.300.000.000.000.000
  • 2 ^ 97 = 158.456.325.028.529.000.000.000.000.000
  • 2 ^ 98 = 316.912.650.057.057.000.000.000.000.000
  • 2 ^ 99 = 633.825.300.114.115.000.000.000.000.000
  • 2 ^ 100 = 1.267.650.600.228.230.000.000.000.000.000: Quintillion
  • 2 ^ 101 = 2.535.301.200.456.460.000.000.000.000.000
  • 2 ^ 102 = 5.070.602.400.912.920.000.000.000.000.000
  • 2 ^ 103 = 10.141.204.801.825.800.000.000.000.000.000
  • 2 ^ 104 = 20.282.409.603.651.700.000.000.000.000.000
  • 2 ^ 105 = 40.564.819.207.303.300.000.000.000.000.000
  • 2 ^ 106 = 81.129.638.414.606.700.000.000.000.000.000
  • 2 ^ 107 = 162.259.276.829.213.000.000.000.000.000.000
  • 2 ^ 108 = 324.518.553.658.427.000.000.000.000.000.000
  • 2 ^ 109 = 649.037.107.316.853.000.000.000.000.000.000
  • 2 ^ 110 = 1.298.074.214.633.710.000.000.000.000.000.000: Quintilliarde
  • 2 ^ 111 = 2.596.148.429.267.410.000.000.000.000.000.000
  • 2 ^ 112 = 5.192.296.858.534.830.000.000.000.000.000.000
  • 2 ^ 113 = 10.384.593.717.069.700.000.000.000.000.000.000
  • 2 ^ 114 = 20.769.187.434.139.300.000.000.000.000.000.000
  • 2 ^ 115 = 41.538.374.868.278.600.000.000.000.000.000.000
  • 2 ^ 116 = 83.076.749.736.557.200.000.000.000.000.000.000
  • 2 ^ 117 = 166.153.499.473.114.000.000.000.000.000.000.000: Kombinationsmöglichkeiten Skatkarten
  • 2 ^ 118 = 332.306.998.946.229.000.000.000.000.000.000.000
  • 2 ^ 119 = 664.613.997.892.458.000.000.000.000.000.000.000
  • 2 ^ 120 = 1.329.227.995.784.920.000.000.000.000.000.000.000: Sextillion
  • 2 ^ 121 = 2.658.455.991.569.830.000.000.000.000.000.000.000
  • 2 ^ 122 = 5.316.911.983.139.660.000.000.000.000.000.000.000
  • 2 ^ 123 = 10.633.823.966.279.300.000.000.000.000.000.000.000
  • 2 ^ 124 = 21.267.647.932.558.700.000.000.000.000.000.000.000
  • 2 ^ 125 = 42.535.295.865.117.300.000.000.000.000.000.000.000
  • 2 ^ 126 = 85.070.591.730.234.600.000.000.000.000.000.000.000
  • 2 ^ 127 = 170.141.183.460.469.000.000.000.000.000.000.000.000
  • 2 ^ 128 = 340.282.366.920.938.000.000.000.000.000.000.000.000: IPv6, MD5-Länge, UUID

Links

Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

2 comments on “Zahlensysteme, Zweierpotenzen und Binärzahlen – IT-Berufe-Podcast #181

  1. Waleri sagt:

    Danke für diesen Podcast!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax