Sagt mal, weil der Artikel zur Festkommaarithmetik gerade auf der Webseite erschienen ist: Wäre es nicht bei der Definition des ASCII-Codes sinnvoller gewesen, die Ziffern 0 bis 9 auf die ersten zehn Positionen des ASCII-Codes zu legen? Dann hätte man bei jeder Zahl einfach nur die Modulo-10-Operation gehabt, und hätte sofort die jeweils letzte Ziffer als solche senden können. Gibt es etwas, was dagegen spricht, bzw. Nachteile, die ich mir damit einfange?
ASCII schrieb: > Gibt es etwas, was dagegen spricht, bzw. Nachteile, die ich mir damit > einfange? wo soll der Vorteil eines Modul gegenüber einer Division sein? und eine \0 ist ein C sehr unpraktisch.
Sag mal, kommst du nicht über ein halbes Jahrundert zu spät :-) "Die ASCII-Kodierung wurde am 17. Juni 1963 von der American Standards Association (ASA) als Standard ASA X3.4-1963 veröffentlicht..." http://de.wikipedia.org/w/index.php?title=American_Standard_Code_for_Information_Interchange&redirect=no#ASCII-Tabelle
ASCII schrieb: > Dann hätte man bei jeder Zahl einfach nur die Modulo-10-Operation > gehabt, und hätte sofort die jeweils letzte Ziffer als solche senden > können. So schlimm ist ein bitweises OR mit 0x30 nun auch nicht.
>Wäre es nicht bei der Definition des ASCII-Codes sinnvoller gewesen, die >Ziffern 0 bis 9 auf die ersten zehn Positionen des ASCII-Codes zu legen? Ich gehe mal davon aus, dass Du zum Zeitpunkt der Festlegung noch kein Stimmrecht hattest. Deine Frage geht am Kern der Sache (Grund und Aufbau des Codes) vorbei und fällt mit Sicherheit in die Rubrik: Hinterher sind alle schlauer.
@ Autor: ASCII (Gast) >Wäre es nicht bei der Definition des ASCII-Codes sinnvoller gewesen, die >Ziffern 0 bis 9 auf die ersten zehn Positionen des ASCII-Codes zu legen? Nö. >Dann hätte man bei jeder Zahl einfach nur die Modulo-10-Operation >gehabt, und hätte sofort die jeweils letzte Ziffer als solche senden >können. Wo ist das Problem, einfach 0x30 zu addieren? >Gibt es etwas, was dagegen spricht, bzw. Nachteile, die ich mir damit >einfange? In C ist 0x00 der Stringterminator und damit als Zeichen in einem String nicht nutzbar. OK, ASCII ist deutlich älter als C, aber auch damals hat man sich um das Thema Steuerzeichen und normale Zeichen ne Menge Gedanken gemacht.
ASCII schrieb: > Gibt es etwas, was dagegen spricht, bzw. Nachteile, die ich mir damit > einfange? Das Zeichen NUL, was allgemein Nichtstun bedeutet, würde Strom verbrauchen. Denn dieser Zustand hätte dann logischerweise nicht mehr den Code 0x00 sondern irgendeinen anderen. Das ist heutzutage natürlich vollkommen egal. Einem µP oder µC ist es allerdings auch egal, ob er das Zeichen mit 0x30 verknüpft. Aber 1963 und weit darüber hinaus gab es auch Maschinen, die Codes mechanisch, z.B. mit Elektromagneten, abgetastet haben. Der Zustand NUL mit dem angenommenen Code 0x10, hätte dann bedeutet, dass der Magnet #4 im Leerlauf ständig angezogen sein müsste. Das hätte unnötig Strom verbraucht und wäre der Lebensdauer der Magnetspule abträglich gewesen. Natürlich hätte man die Abtastung auch invertieren können, damit die Relais bei einer 0 anziehen. Dann hätte man die NUL auf 0x7F legen können. Damit wäre der Code aber nach oben nicht mehr erweiterbar gewesen. Oder man hätte das gleiche Problem mit 8 Bit mittendrin im Zeichensatz wieder gehabt. Ausserdem ist ein ungestanzter Lochstreifen leer, also NUL. Wäre NUL aber 0x10, müsste man bei jedem Zeichen, bei dessen Code Bit4 0 ist, das Loch zustopfen. Denn dieses Bit, müsste auf dem "leeren" Lochstreifen gestanzt sein, damit die Maschine diesen auch als "leer" erkennen kann. mfg.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.