Beispiele für Einschränkungen in der IT aufgrund unterschiedlicher Bitlängen aufgrund des Designs [geschlossen]


8

Ich unterrichte den Kurs "Einführung in die Programmierung" für Studienanfänger und möchte interessante Beispiele finden, bei denen die vom Design gewählte Datentypgröße in Bit zu bestimmten bekannten Einschränkungen oder wichtigen Werten führte.

Hier sind einige Beispiele:

  1. Aufgrund der Tatsache, dass der Bell-Teleprinter bisher 7-Bit-Code (später als ASCII akzeptiert) verwendet hat, müssen Anhänge in elektronischen Nachrichten häufig so codiert werden, dass sie nur 7-Bit-Daten enthalten.
  2. Die klassische Beschränkung des 32-Bit-Adressraums führt zu einer maximalen RAM-Größe von 4 GB für 32-Bit-Systeme und einer maximalen Dateigröße von 4 GB in FAT32.

Kennen Sie einige andere interessante Beispiele, wie die Wahl des Datentyps (und insbesondere seiner binären Länge) die moderne IT-Welt beeinflusst hat?

Nach einigen Diskussionen in den Kommentaren hinzugefügt:

Ich werde nicht lehren, wie man Einschränkungen überwindet. Ich möchte nur, dass sie wissen, dass 1 Byte die Werte von -127..0 .. + 127 o 0..255 enthalten kann, 2 Bytes den Bereich 0..65535 usw. abdecken, indem sie Beispiele beweisen, die sie aus anderen Quellen kennen, wie z oben erwähnte Base64-Codierung usw. Wir lernen gerade die grundlegenden Datentypen und ich versuche, eine gute Referenz dafür zu finden, wie groß diese Typen sind.


Das Ziel, eine "unendlich zukunftssichere" Technologie zu entwickeln, ist nicht erreichbar. Stattdessen bemühen wir uns, "absichtlichen Code" und "selbstbeschreibende Daten" so zu gestalten, dass die zusätzlichen Informationen (Absicht und Beschreibung) die Migration von Code und Daten in ihre zukünftigen Formate erleichtern.
Rwong

Das ist mir und den Schülern absolut klar. Die Grundidee hier ist, sich an die 8-Bit-Pro-Byte-Welt zu gewöhnen und sich einen Überblick darüber zu verschaffen, wie viele Daten eine, zwei, vier usw. Byte-Strukturen enthalten können.
Alexander Galkin

Mein Vorschlag ist, nach Beispielen zu suchen, die dem Alter der Schüler entsprechen. Das heißt, sie können die Situation bei alten Technologien, den Preis für RAM usw. möglicherweise nicht vollständig einschätzen. (An einem Punkt ist ein 64-KB-Speichermodul ein separates Gehäuse außerhalb des Computers, das aus handgewebten Magnetkernen besteht.)
rwong

Wenn Sie lernen möchten, wie Sie die Einschränkungen überwinden können, lernen Sie binäre Additionen mit Übertrag, Präfixcode (erforderlich, um Maschinenanweisungen zu verstehen), Unicode (ein Beispiel für ein Codierungsschema) und laden Sie die Schüler ein, ein Ad-hoc-Codierungsschema für zu entwerfen Spaß. Berühren Sie ein wenig "Information" und "Entropie".
Rwong

Vielleicht habe ich meine Frage etwas vage formuliert: Ich werde nicht lehren, wie man Einschränkungen überwindet. Ich möchte nur, dass sie wissen, dass 1 Byte die Werte von -127..0 .. + 127 o 0..255 enthalten kann, 2 Bytes den Bereich 0..65535 usw. abdecken, indem sie Beispiele beweisen, die sie aus anderen Quellen kennen, wie z oben erwähnte Base64-Codierung usw. Wir lernen gerade die grundlegenden Datentypen und ich versuche, eine gute Referenz dafür zu finden, wie groß diese Typen sind.
Alexander Galkin

Antworten:


9

IPv4 ist ein sehr gutes Beispiel, bei dem eine begrenzte Spezifikationsgröße ein sehr teures Problem auf der ganzen Linie verursachte. 4,3 Milliarden Adressen reichen einfach nicht mehr aus. Jetzt führen ISPs auf der ganzen Welt IPv6 verzweifelt mit einem 128-Bit-Adressraum ein, der sich in eine Adresse für jedes Atom in Ihrem Körper oder ähnliches umwandelt.


1
Ja - Bedenken Sie Folgendes: Wenn pro Pikosekunde 1 Million Adressen zugewiesen würden, würde es 10783127828133.15 Jahre dauern, bis alle Adressen verbraucht sind. Mit IPV6 sind 2 ^ 128 Adressen verfügbar. In einer Sekunde werden 10 ^ 6/10 ^ -12 Adressen zugewiesen (1 x 10 ^ 18). Also (2 ^ 128) / ((10 ^ 6) / (10 ^ -12)) = 340282366920938463463.37 Sekunden. Unter der Annahme, dass ein Jahr 31.556.926 Sekunden hat (laut google.com), ergibt dies 10783127828133.15 Jahre. Da dies älter als die Erde ist, sollte es uns gut gehen.
Jack

@ Jack das Y11T Problem? :)
Rechtsfalte

@ Jack: Bis wir es nicht sind, werden wir aufgrund der Netzwerksegmentierung viel Adresse verlieren.
Wyatt Barnett

1

Das Problem des Jahres 2000 war ähnlich, außer dass die Leute Dezimalzahlen anstelle von Binärzahlen verwendeten und nur zwei letzte Ziffern codierten. Dies kann ein nützliches Beispiel sein, wenn Sie jemandem erklären, der wenig Erfahrung mit Binärdateien hat.

FAT12 / FAT16 / FAT32 wurden angepasst, um eine immer größere Lagerung zu gewährleisten.

TeX hat einige interessante Eigenschaften bei der Darstellung von Dimensionen (aus dem TeXBook):

TEX repräsentiert alle Dimensionen intern als ganzzahliges Vielfaches der winzigen Einheiten mit der Bezeichnung sp. Da die Wellenlänge des sichtbaren Lichts ungefähr 100 sp beträgt, machen Rundungsfehler von einigen sp für das Auge keinen Unterschied. [...]

TEX behandelt keine Dimensionen, deren absoluter Wert 2 ^ 30 sp oder mehr beträgt. Mit anderen Worten, die maximale rechtliche Dimension beträgt etwas weniger als 16384 pt. Dies ist eine Entfernung von ungefähr 5,7583 Metern (18.892 Fuß), damit Ihr Stil nicht beeinträchtigt wird.

(pt ist eine typografische Einheit, die ungefähr 1/72 Zoll entspricht)


0

Microsoft Excel - Versuchen Sie, mehr als 32.000 Elemente grafisch darzustellen. Irgendwo muss ein signiertes 16-Bit-Feld sein. (obwohl sie das Limit auch aus irgendeinem Grund auf 32000 abrunden).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.