Nullen und Einsen

Bearbeiten

Hallo,

zu [1] eine kurze Antwort:

  • Will man irgendwie Informationen abspeichern, kann man das entweder analog oder in einzelnen Stufen (also digital) machen. Die heutigen Computer arbeiten alle digital, das hat ein paar Vorteile, u.a. dass man ein solches Signal ohne schleichende Veränderung beliebig oft kopieren kann (also die Kopie von der Kopie von der Kopie ist immer noch mit dem Original identisch).
  • Beispielsweise die Zahlen von 0 bis 256 könnte mit einem Schalter mit 256 Stellungen darstellen, oder mit 2 Schaltern mit je 16 Stellungen (denn das gibt auch 16*16=256 Kombinationen), oder mit 4 Schaltern mit je 4 Stellungen, oder mit 8 Schaltern mit je 2 Stellungen.
    Technisch ist die Lösung mit den 8 Schaltern mit je 2 Stellungen einfacher zu bauen als die Lösung mit weniger Schaltern und mehr Stellungen. Deswegen macht. Und das ist grade das Dualsystem, wenn man die beiden Stellungen mit den Ziffern 0 und 1 identifiziert. (In Wirklichkeit sind das natürlich keine "Schalter" mehr, sondern Transistoren, die man mit nur zwei Zuständen betreibt.)

--Holman 18:19, 30. Apr. 2009 (CEST)Beantworten

Hallo, Benutzer Holman, vielen Dank für Ihren Beitrag, den ich als einen guten Anfang zu der Diskussion betreffend der Nullen und Einsen betrachte. Haben Sie aber bitte Geduld, ich werde mich womöglich bald melden. Leider bin ich jetzt im Zeitmangel. Mit Gruß ----Klubera 11:04, 10. Mai 2009 (CEST)Beantworten

Kollege Holman, meine Reaktion zu Ihrem Diskussionsbeitrag vom 30.4.2009:

Um die Orientation in meinem Gedankengewirr, wie folgt, etwas übersichtlicher zu machen, habe ich die einzelnen Absätze, wo ich meine Meinungen zu dem Thema der Nullen und Einsen allgemein, oder zu Ihrer Antwort beigefügt habe, mit Ordnungszahlen besorgt. Und wo diese Zahlen auch vielleicht bei den, eventuell nachkommenden Diskussionsreaktionen dienen könnten.

01 Anfangs möchte ich bemerken, dass ich in meiner Reaktion anstatt den von Ihnen, in Ihrer kurzen Antwort zu [1] benutzten Ausdruck: „Informationen“, wo es möglich ist, den neutralen Ausdruck: „Daten“ benutzt habe. Weil aus diesen Daten nicht nur bidirektional, in der einzeln benutzten Digitaltechnik selbst und zwischen der Digitaltechnik und ihrem Benutzer oder mit verschiedenen Peripherien verlaufende Mitteilungen, aber auch Instruktionen oder Anweisungen entstehen können, die ich mir als Informationen, aufgrund deren, heutzutage noch ziemlich nebeligen Wortbedeutung, schwerlich vorstellen könnte.

02 Aber wenn Sie, Kollege Holman, schon diesen Ausdruck, die „Information“ benutzt haben, möchte ich ihn nicht ganz ungebraucht liegen lassen. Man könnte hier fragen, was eine Information eigentlich ist und was sie nicht ist. Ohne jemanden kränken zu wollen lässt es sich sagen, dass die Information eine (unwillkürliche oder adressierte) Mitteilung oder Angabe ist, oder eine Instruktion sein kann. Aber ist jede Mitteilung eine Information? Sicherlich nicht. Und wer sollte dies entscheiden. Ich glaube, dass es nur der Empfänger der Mitteilung sein kann. Und das aufgrund dessen, ob ihm diese oder jene Mitteilung sein bisheriges Wissen bereichert. Aber was keine (echte) Informationen sind, das sind z.B. die Zahlen. Weil sie an sich selbst keinen Informationsgehalt und keine exekutive Macht besitzen, insofern bei ihnen nicht klar bestimmt ist, welche Interessen sie vertreten und welche Rolle sie spielen sollen. Und dass sie deshalb zwar wichtige, aber trotzdem allein nur stimulierende Elemente der diesbezüglichen, eigentlichen Informations- Objekte sein können, aber ohne diese, im informativen Sinne keine praktische Aussagefähigkeit haben.

03 Nebenbei empfinde ich die Notwendigkeit deutlicher zu erklären, worin meine Einwände gegen dem oft beschriebenen Gebrauch der Nullen und Einsen im Zusammenhang mit der Digitaltechnik liegen. Das heißt einem solchen Gebrauch, der nicht nur die Nullen und Einsen als Zahlen, aber auch deren Stellenwert in der Digitaltechnik (siehe z.B. de/Wikipedia / Dualsystem, und nicht nur hier) als wichtig bezeichnet. Und wo mittels der arithmetischen Berechnungen aufgrund des Stellenwertes der Nullen und Einsen, die aus verschiedenen Artikeln in der Wikipedia ersichtlich sind der Eindruck erweckt wird, dass man die Ergebnisse solcher Berechnungen, in der Form von (meiner Meinung nach durch diese Berechnungen fälschlich basierten) Bytes, und obendrein illusorisch (wie weiter erklärt), zu mathematischen Instrumenten der Steuerung der Digitaltechnik erheben kann.

04 Hier möchte ich meine Meinung hinzufügen, dass die Ergebnisse der verschiedenen, in der Wikipedia repräsentierten, und zu der Digitaltechnik- Steuerung sich beziehenden Berechnungen der Dualzahlen, wenn man sich schon entschließen möchte solche Berechnungen zu machen gar keine Zahlen, aber in der erwähnten Beziehung nur in Gruppen gereihte Ziffern ohne irgendwelchen Stellenwert, oder deutlicher ausgedrückt einzelne, der zweierlei Zustände fähigen Bits vertretende Symbole sein können. Damit soll aber auch gesagt sein, dass ich nicht den Fehler im Benutzen des Dualzahlen- Systems allgemein sehe, aber im Versuch diesem Zahlensystem eine Aufgabe aufladen zu wollen, die dieses System nicht zu erfüllen im Stande ist.

05 Leider hat seit einem Zeitpunkt auf dem Gebiet der Digitaltechnik, höchstwahrscheinlich beeinflusst mit der irreführender Bennennung dieser Technik als Computer (was logisch den Anschein eines Kalkulators, bzw. Rechners erweckt), das zu den mathematischen Instrumenten angehörige Dualzahl-System die Oberhand gewonnen, was die weit sich unverdient ausdehnende Bezeichnung der zweien binären Bitzustände durch Nullen und Einsen unterstützte. Der Ursprung dieser Bezeichnungsart beruht unbestreitbar auf der mathematischen Basis und auf dem durch Leibniz in den Vordergrund gestelltem Zahlensystem. Wo auch der Stellenwert der Zahlen in diesem Dualsystem oft betont und deshalb logisch zu arithmetischen, und in diesem Fall, meiner Meinung nach, zu unüberlegten Berechnungen anspornt.

06 Praktisch wird nirgends ein Beweis beigelegt, dass das englische Wort „digit“, das in dem englischen Ausdruck „binary digit“ vorkommt, und mit dem Ausdruck „bit“ (in Deutsch meist mit großem Anfangsbuchstaben geschrieben, also Bit) zusammenhängt, ausdrücklich eine Zahl, und sogar diese mit einen Stellenwert ausgestattet, bedeuten muss. Übrigens die Praxis zeigt, dass es in Wirklichkeit ein beliebiges Symbol sein kann, das mit der Mathematik nichts zu tun hat.

07 Man könnte wohl, allerdings mit Vorsicht, bei dem Entwerfen, sowie bei dem Erkennen der Bitzustände Kodemustern in Ergebnissen dieser Entwürfe, die man durch die Umwandlung der Dezimalzahlen in Dualzahlen bekommen könnte, die Nullen und Einsen ausnützen. Dies ermöglicht die Tatsache, dass jede Dualzahl, die einer Dezimalzahl entspricht, jedes Mal anders gemischte Reihen (Kodemuster) aus Nullen und Einsen darbietet. Wo man aber diese Ziffern nicht als Zahlen mit Stellenwert, aber nur als Symbole betrachten darf. Diese Bitzustände Kodemuster müsste man anders, besonders bei einer größeren Anzahl deren, langwierig entwerfen. Man darf aber dabei nicht vergessen, dass es sich hier nur um ein Hilfsmittel handelt. Und man sollte deshalb nicht der Vortäuschung verfallen, damit eine geniale mathematische Methode für die Steuerung des Prozessors erhalten zu haben. Wo man obendrein solche technische Objekte, zu denen in diesem Fall auch der Prozessor gehört, überhaupt mit keinen mathematischen, aber nur mit technischen Methoden steuern kann.

08 Da aber stets Missverständnisse betreffend der Bedeutung der zweierlei Bit- Zustände vorkommen, empfinde ich als zweckmäßig hier meine diesbezügliche Vorstellung beizufügen: Die physikalische Substanz der zweien Bitzustände, mittels deren die tatsächliche Realisation dieser Bit- Zustände im Bezug zu der Steuerung der Digitaltechnik durchgeführt wird oder durchgeführt werden kann, wirkt sich durch physikalische (mechanische, elektrische, elektromagnetische, optische und weiß Gott auf welcher existierenden, oder noch in der Zukunft kommenden, z.B. auf der chemischen Basis beruhenden) Modulationen des Datensignals aus. Und werden auch als solche Modulationen mittels der zweierlei Zustände- Bits (und wo man mehrere Zustände (Schalter) vielleicht bei den emsig geforschten Qubits, oder bei der stets geheimnisvollen DNA voraussetzen kann) durch den Prozessor oder anderen Einrichtungen als Eingabedaten abgelesen. Und durch diese Modulationen kann auch die Bedeutung der bitweise, atomar benutzten Eingabedaten für die Gestaltung der so genannten Bitkombinationen, anders gesagt der Ausgabedaten des Prozessors, der Bytes, erklärt werden.

09 Logisch kann man zum Resultat gelangen, dass die erwähnten Modulationen regelmäßig verteilte, gemischte Reihen von nicht aktivierenden, passiven (P) Stellen, und aktivierenden (A) Stellen mit physikalischen Steuerungs- Anregern am Datensignal angebracht vorstellen, die in Kombinations- Gruppen gegliedert, und in dieser Form taktweise abgetastet, sich an der Steuerung des Prozessors beteiligen. Oder anders gesagt, es können am Anfang nur passive Stellen des Datensignals sein, von denen gewisse Stellen bei einer Programmerstellung, mittels der Modulation, in die aktivierende Form umgewandelt werden. Um den erwähnten Missverständnissen vorzugehen, könnte man demnach mittels der, im vorigen Absatz angeführten Bezeichnungen P und A der physikalischen Bitzustände die irreführenden Ziffern 0 und 1 in verschiedenen Beschreibungen betreffend der Bits und Bytes ersetzen, welche durch die Umwandlung der Dezimalzahlen in Dualzahlen erhaltenen (siehe Absatz 07), in den gemischten Reihen von Ziffern, Kode-Mustern, das ist Bytes vorkommen.

10 Oft kann man in der Wikipedia auch an die Frage anstoßen, wie viel verschiedene Dualzahlen, die den Dezimalzahlen entsprechen, sich aufgrund gegebener Menge von Biteinheiten des Prozessors (CPU) darstellen lassen. Leider kommt es hier oft zu der Verwechslung der Begriffe Zahl und Anzahl. Denn es geht hier nicht um die Möglichkeit, z.B. mit einem 8 Bit Prozessor 256 verschiedene Zahlen darzustellen, aber um die Anzahl 256 verschiedener Bit- Zustände- Kombinationen (Bitmuster), Bytes, die man aufgrund zweierlei Bitzuständen bei einem solchen Prozessor (CPU) zusammenstellen kann. Dazu kann man die bekannte Formel: 2 hoch n benutzen, wo die Zahl „2“ die Anzahl der möglichen Zustände, und der Potenziator „n“ die Anzahl der Biteinheiten des Prozessors bedeutet.

11 Diese schon allgemein bekannte Formel, die mit dem Dualzahlen- System eng zusammenhängt, ist hier angeführt um zu zeigen, wie man dieses Zahlensystem eventuell theoretisch für die Bit- Zustände- Kodemuster- Gestaltung ausnützen könnte, wenn man sich aber dabei der möglichen, oben erwähnten Irrtümer bewusst ist. Dasselbe gilt bei der Umwandlung der Dezimalzahlen in Dualzahlen, die man aber einzeln, und von rechts nach links lesen muß. Ein solches Leseverfahren ist deshalb notwendig, da man allgemein die, in verschieden Anzahlen von Ziffern vorkommenden Nummern rechtsseitig ausgleicht. Was auch der Fall der in Dualzahlen umgewandelten Dezimalzahlen der Fall ist. Wo obendrein die niedrigren Dezimalzahlen, z.B. vom Gesichtspunkt der 8 Bit- Kodemuster kürzere Dualziffern- Gruppen bilden, links leere Stellen hinterlassen und die im Gestaltungs- Entwurf der Bytes eventuell mit Nullen (passive Stellen des Datensignals vertretenden Symbolen) ausgefüllt werden müssten. Oder wo die letzten Nullen (Symbole) links nicht gelesen werden sollten. Das gilt besonders bei der Dezimalzahl 0, wo bei einem 8 Bit- Kodemuster nur eine Null als Dualzahl entsteht, und die übrigen sieben Bitstellen nicht besetzt wären, oder mit zusätzliche Nullen (Symbole) ersetzt werden müssten, oder eventuell je nach der Beschaffenheit des Prozessors, nichts gelesen würde. Deshalb ist es auch nicht zweckmäßig bei einem 8 Bit Prozessor von einer Anzahl von verschiedenen Kodemustern, Bytes, von 0 bis 255, aber von 1 bis 256 zu sprechen.

12 Die Tatsache, dass die Digitaltechnik nicht wie früher in der Form von verschiedenen Kalkulatoren, (von denen ich z.B. an meiner Benutzerseite betreffend des Sharp PC Compet 2600 einen beschrieben, und wo ich auch meinen Bezug zu der Mathematik ausgedrückt habe) sich in dieser Zeit mit Zahlen und deren Berechnungsaufgaben schon nur in einem Anteil von kaum zehn Prozent beschäftigt sollte andeuten, dass es auch auf dem Gebiet der Digitaltechnik- Steuerung, im Vergleich zu den „Kalkulatoren oder Rechnern“ sicher zu verschiedenen Änderungen gekommen ist. Man würde heutzutage schwierig einen Bereich der menschlichen Tätigkeit finden, wo die Digitaltechnik nicht eingesetzt ist und wo mittels deren, viele Fachrichtungen auf eine höhere Stufe aufgeschwungen wurden. Diese Digitaltechnik hat eben den Vorteil, dass sie sich verhältnismäßig selbst leicht in verschiedene Applikationen umbauen, oder als spezielle Steuereinheiten einbauen lassen, und dass dabei stets dasselbe Prinzip des Datensignal- Übertrages mittels Bits und Bytes, die das digitale Wesen bilden, in Geltung bleibt.

13 Die physikalische, und keineswegs mathematische Substanz der zweier Bitzustände ist es, die die Grundeigenschaft der einzelnen (atomischen) Bits, die Eingabedaten in den Prozessor unterstützt. Und wo diese zweierlei Zustände anzunehmen fähige Bits, die in regelmäßigen Abständen gereiht, mittels einer passiven (P) und aktivierenden (A) Modulation nachher zu der Gestaltung des Datensignals beitragen. Um in der Form der bitweise (atomisch) gereihten Ausgabedaten des Prozessors, die komplexen n-Bit Byte-Einheiten zu bilden. Wo man diese mit Patentschlüsseln und deren Zähnen und Lücken vergleichen könnte. Aufgrund deren die tatsächliche Realisation der zweierlei Bit-Zustände durchgeführt, sich in der Form von physikalischen Impulsen mittels des Prozessors, bzw. den integrierten Schaltkreisen auf die Digitaltechnik- Steuerung auswirkt.

14 Das Grundwesen der erwähnten „Patentschlüsseln“, der zweierlei Bitzustände- Muster bleibt dabei wegen der notwendigen Kompatibilität aller Digitaltechnik mehr oder weniger dieselbe. Wird aber durch die einzelnen Benutzer der Digitaltechnik, mittels spezifisch gestalteten Programmen und deren eingebauten, und den einzelnen integrierten Schaltkreisen zugeteilten, technisch und systematisch einwandfreien Instruktionen, mittels der Bytes zweckmäßig appliziert. Dieser Trend ist schon so weit fortgeschritten, dass viele Firmen eigene, patentgeschützte Softwaren benutzen, um eindringende Probleme z.B. im Fertigungsablauf, oder auf anderen Gebieten flexibel lösen zu können. Aus dieser Erklärung sollte ersichtlich sein, dass die erwähnten Impulse des Datensignals, die das Grundwesen der Digitaltechnik- Steuerung bilden, mittels Kalkulationen aufgrund des Dualzahlensystems mit Nullen und Einsen und deren Stellenwert überhaupt nicht realisiert werden können.

15 Deshalb kann man nicht solche enzyklopädische Erklärungen, die den Leser im Bezug zu der Digitaltechnik- Steuerung in eine unproduktive, mit den zweckwidrig angewandten Nullen und Einsen und ihren Stellenwerten gespickte Sphäre umleiten, leider nicht als das Richtige betrachten. Nicht nur deshalb, das dadurch dem Leser eingeflüstert wird die mathematischen, anstatt der praktisch brauchbaren, technisch begründeten physikalischen Instrumente, zu der Digitaltechnik- Steuerung anzuwenden. Aber dass solche Erklärungen, und das ist daran das Schlimmste, die Tätigkeiten der Programmierer, bei denen man ein planmäßig durchgeführtes, kreatives Bestreben und ein aufbauendes Einsetzen der bedürftigen Instruktionen (Befehlen) bei der Steuerung der jetztzeitigen Digitaltechnik voraussetzen muß, dabei überhaupt nicht in Betracht nehmen.

Mit freundlichem Gruß --Klubera 13:35, 31. Mai 2009 (CEST)Beantworten



Ich habe eigentlich nicht viel Zeit für diese Diskussion, deswegen dauert es so lange, bis eine Antwort von mir kommt.

Ich hoffe, ich habe halbwegs verstanden, worauf Sie eigentlich hinauswollen, dann hier meine Antwort, wobei ich Bezug auf Ihre Nummerierung nehme.

1–2: Einverstanden, sagen wir Daten.

5+10+12 und insbesondere 6: Ebenfalls einverstanden, die Bits in den Computern repräsentieren in den meisten Fällen keine Zahlen, sondern andere Daten – z.B. Buchstaben.

Ich halte aber die Schlussfolgerung 7+14+15 für falsch, dass man mit einem Computer aufgrund seiner Dualzahl-Steueruung nur mathematische Berechnungen machen kann. Ein Computer soll doch ganz allgemein für einen bestimmten Input einen festgelegten Output liefern, wobei die spezielle Art der Umformung durch den (vom Menschen vorgegebene) Problem festgelegt wird. Input und Output können z.B. in Form von Buchstaben erfolgen. Welcher spezieller Output sich bei einem gegebenen Input ergibt, muss (vom Menschen) durch einen Algorithmus beschrieben werden (können), denn das ist grade die Beschreibung des Problems. Mathematisch ist ein Algorithmus aber nichts anderes als eine Funktion. Und – das ist ganz wichtig – jede (berechenbare) Funktion kann man durch einen Isomorphismus, d.h. eine Eins-Zu-Eins-Zuordnung, durch eine Funktion ersetzen, deren Input und Output Zahlen sind und deren Algorithmus eine Berechnung ist. Also als Beispiel: Man ordnet den Buchstaben A bis Z je eine Dualzahl zu, und ersetzt dann den Algorithmus, der aus einem eingebenen Text einen ausgegebenen Text macht, durch den Algorithmus, der aus den Eingabe-Dualzahlen die Ausgabe-Dualzahlen macht. Dann funktioniert dieser Computer, der intern mit Dualzahlen arbeiten, "von außen gesehen" genauso wie ein Computer, der intern mit Buchstaben arbeiten würde.

Das ist grade der Grund, warum man mit Computern nicht zur Zahlen-Probleme lösen kann.

--Holman 13:04, 21. Jun. 2009 (CEST)Beantworten


Kollege Holman, vielen Dank für Ihren Diskussionsbeitrag vom 21.6.09

Ich habe über Ihre Antwort in diesem Beitrag lange nachgedacht, weil da leider wahrscheinlich zu Missverständnissen gekommen ist, die meiner Meinung nach geklärt werden sollten um weiter kommen zu können. Was die einzelnen Fragen betrifft, die in unserer Diskussion vorkommen, müssen wir beim beantworten deren sicher nicht immer einig sein. Es geht aber darum, in den Bedeutungen der einzelnen Fragen selbst sich allererst womöglich zu einigen.

Eine solche Frage ist die Steuerung des Computers. Eines Computers, der schon bis zu der heutigen Zeit viele Änderungen und Verbesserungen durchgemacht hat. Heute ist es nicht mehr eine Einzweck-Maschine, wie es im Uralter der digitalen Technik war. Wo diese Einrichtungen eigentlich nur Rechenmaschinen (Kalkulatoren) waren und ihre Produzenten sich befürchteten, ob sie eine genügende Anzahl Käufer finden werden. Diese Situation hat sich aber geändert, als man entdeckt hat, wie man solche Einrichtungen auch für andere Aufgaben nutzen kann. Heute gibt es schon eine große Menge von verschiedenen speziellen Programmen, mit denen man früher nicht denkbare Aufgaben lösen kann. Als ein Beispiel eines solchen Programms kann man MS Word nennen, mit dem man Texte schreiben kann, wofür wir sicher von Johann Gutenberg beneidet wären.

Was ich aber mit diesem Beispiel sagen will, ist der Unterschied des Begriffes betreffend der Steuerung. Wo einmal in dieser Beziehung der Computer und seine elementare Steuerung gemeint ist und ein andermal diese Steuerung eine spezielle Programm- Applikation, z. B. die von mir erwähnte MS Word Applikation bedeuten kann, die eine eigene, höher aufgebaute Steuerungs- Methode benötigt. Man könnte vereinfacht sagen, dass die elementare Steuerung des Computers auf der Architektur des Hauptprozessors, mittels der Bitzustände und aus denen zusammengereihten Bytes beruht. Und wo verschiedene spezielle Applikationen die Aufgaben der einzelnen Bitzustände sind, die bei Bedarf alternativ ein- oder ausgeschaltet werden.

Meiner Meinung nach können wir aber nicht voreilen und z. B. die Frage der Texterstellung lösen, wenn wir in der Frage der Bitzustände und aus denen zusammengereihten Bytes, die der elementaren Steuerung des Computers dienen sollen, verschiedene Auffassungen verteidigen. Umstritten, wie ich es sehe, sind in dieser Beziehung offensichtlich die Nullen und Einsen, die für die Darstellung der Bitzustände unglücklich benutzt und deshalb irreführend sind, aber die man von zwei verschiedenen Gesichtspunkten betrachten kann.

Erstens kann man die Null und die Eins zu einem Zahlensystem, in diesem Fall als Zahlen mit Stellenwert zum Dualen System zuordnen. Der erwähnte Stellenwert aber hindert diesen Dualzahlen mit ihren Nullen und Einsen die Bitzustände des Hauptprozessors zu repräsentieren. Weil die Bitzustände diskrete Elemente der Bytes sein müssen, um verschiedene Aufgaben selbständig erfüllen zu können, was bei den Dualzahlen nicht der Fall ist. Und deshalb können sich die Dualzahlen nicht an der Steuerung des Computers beteiligen.

Zweitens sind die Nullen und Einsen nur zwei unterschiedliche Ziffern, die ganz selbstständig, alternativ zwei unterschiedliche Zustände der einzelnen Bits in den Bytes vertreten können und die auch mit anderen Symbolen bildlich dargestellt werden könnten, aber keinem Zahlensystem, also auch nicht dem Dualen System zugehören. Man kann deshalb in diesem zweitgenannten Fall bei den mit Nullen und Einsen oder anderen Symbolen repräsentierten Bitzuständen nicht von Dualzahlen sprechen, weil sie keine solche sind. Aber das ist grade die Möglichkeit, wie man so repräsentierte, diskrete Bitzustände zu der Steuerung des Computers benutzen kann.

M. f. G. -- --Klubera 18:22, 9. Jul. 2009 (CEST)Beantworten

Ich glaube, ich habe Ihre Argumente jetzt verstanden. Zur Überprüfung möchte ich Ihre Ansicht noch einmal mit meinen eigenen Worten, aber auch mit meiner eigenen "Denkrichtung" zusammenfassen.

Ein Computer wandelt einen Eingabe-Speicherzustand in einen Ausgabe-Speicherzustand um. Der Speicher besteht aus einzelnen "Zellen", die jeweils zwei Zustände haben können. Zur Beschreibung eines Speicherzustands kann man also eine Abfolge von Zeichen nehmen, wobei jeder Zelle ein Zeichen zugeordnet ist und es zwei verschiedene Zeichen geben muss. Soweit sind wir uns einig.

Die "allgemeine Ansicht" ist nun, dass diese Zeichen Nullen und Einsen sind und dass diese Abfolge von Zeichen eine Dualzahl darstellt. Ihre Ansicht hingegen ist, dass dies keineswegs der Fall ist, denn der Speicherzustand hat erst mal gar nichts mit Zahlen zu tun, weil ein Computer ja nicht nur zum Rechnen verwendet wird.

Ich hoffe, ich habe Ihre Ansicht damit zutreffend zusammengefasst, und ich muss sagen, Sie haben mich überzeugt – zumindest halb. Ich möchte dennoch etwas zur Verteidigung der "allgemeinen Ansicht" anführen:

Wie ich schon in meinem vorigen Beitrag geschrieben habe, kann man "so tun, als ob" die Speicherzustände Dualzahlen wären und die Funktion, die aus dem Eingabe-Speicherzustand den Ausgabe-Speicherzustand erzeugt, dann als mathematische Funktion beschreiben. So funktionieren heutige Computer auch: der zentrale Baustein ist nämlich die Arithmetisch-logische Einheit, die wie der Name schon sagt, nur mathematische (und logische) Umformungen auf Dualzahlen ausführt.

Gegen diese Ansicht könnten Sie vielleicht zwei Punkte anführen:

  1. Vielleicht lässt sich nicht jede Funktion mathematisch beschreiben.
  2. Und wenn doch, so könnte doch diese Beschreibung umständlich und wenig geeignet für die Probleme sein, die man heutzutage mit Computer lösen will.

Zu Punkt 1: Das ist die Church-Turing-These, dass man das tun kann. Sie kann man nicht beweisen, aber mir zumindest erscheint sie plausibel.

Zu Punkt 2: Dagegen kann man nur aufführen, dass (fast) alle zurzeit existierenden Computer tatsächlich so gebaut sind (wie gesagt, der zentrale Baustein aller heutigen Computer ist die sogenannte Arithmetisch-logische Einheit), und die funktionieren doch recht gut, oder?

Vielen Dank für die interessante Diskussion, ich musste lange nachdenken, was ich Ihnen zurückschreibe.

Grüße --Holman 09:37, 27. Jul. 2009 (CEST)Beantworten

Danke Ihnen, Kollege Holman für Ihren Beitrag. Haben Sie bitte Geduld, ich muß jetzt oft hin und her reisen. MfG --Klubera 11:35, 6. Aug. 2009 (CEST)Beantworten

Lieber Kollege Klubera, ich habe meinen obigen Beitrag noch mal überarbeitet, so dass er vielleicht noch etwas verständlicher ist, hier die neue Version:

Ich glaube, ich habe Ihre Argumente jetzt verstanden. Zur Überprüfung möchte ich Ihre Ansicht noch einmal mit meinen eigenen Worten, aber auch mit meiner eigenen "Denkrichtung" zusammenfassen.

Ein Computer wandelt einen Eingabe-Speicherzustand in einen Ausgabe-Speicherzustand um. Der Speicher besteht aus einzelnen "Zellen", die jeweils einen von zwei möglichen Zuständen haben. (Man könnte einen Computer auch mit weniger Zellen, die dafür mehr als zwei Zuständen annehmen können, bauen. Das würde genauso gehen, ist aber technisch komplizierter – ansonsten spielt das für die folgende Argumentation keine Rolle.) Jeden beliebigen Speicherzustand kann man daher als eine Abfolge von Zeichen beschreiben, wobei jeder Zelle ein Zeichen zugeordnet ist und es soviele verschiedene Zeichensorten geben muss wie Zustände, also zwei verschiedene Zeichen. Für diese Zeichen könnte man also beispielsweise Nullen und Einsen nehmen. Soweit sind wir uns einig.

Die "allgemeine Ansicht" ist nun, dass diese Zeichen Nullen und Einsen "sind" und dass diese Abfolge von Nullen und Einsen eine Dualzahl darstellt. Ihre Ansicht hingegen ist, dass dies keineswegs der Fall ist, denn der Speicherzustand hat erst mal gar nichts mit Zahlen zu tun, weil Computer ja nicht nur zum Rechnen verwendet werden.

Ich hoffe, ich habe Ihre Ansicht damit zutreffend zusammengefasst, und ich muss sagen, Sie haben mich überzeugt – zumindest halb. Ich möchte dennoch etwas zur Verteidigung der "allgemeinen Ansicht" anführen:

Wie ich schon in meinem vorigen Beitrag geschrieben habe, kann man "so tun, als ob" die Speicherzustände Dualzahlen wären und die Funktion, die aus dem Eingabe-Speicherzustand den Ausgabe-Speicherzustand erzeugt, dann als mathematisch definierte Funktion beschreiben. Also als eine Funktion, die nach einer mathematischen Vorschrift aus einer Eingabe-Dualzahl eine Ausgabe-Dualzahl erzeugt. So funktionieren heutige Computer auch: der zentrale Baustein ist nämlich die Arithmetisch-logische Einheit, die wie der Name schon sagt, nur mathematische (und logische) Umformungen auf Dualzahlen ausführt.

Gegen diese Ansicht könnten Sie vielleicht zwei Punkte anführen:

  1. Vielleicht lässt sich nicht jede Funktion (also jede "klar definierte" Umformung von Eingabe in Ausgabe) durch mathematische Formeln beschreiben.
  2. Und wenn doch, so könnte doch diese Beschreibung umständlich und wenig geeignet für die Probleme sein, die man heutzutage mit Computer lösen will.

Zu Punkt 1: Das ist die Church-Turing-These, dass man das tun kann. Sie kann man nicht beweisen, aber mir zumindest erscheint sie plausibel. (Man kann sie deshalb nicht beweisen, weil der Ausdruck "'klar definierte' Umformung'" selbst nicht klar definiert ist.)

Zu Punkt 2: Gegen diesen Punkt kann man nur aufführen, dass (fast) alle zurzeit existierenden Computer tatsächlich so gebaut sind, dass sie "innen drin" nur mathematische Umformungen durchführen – wie gesagt, der zentrale Baustein aller heutigen Computer ist die sogenannte Arithmetisch-logische Einheit. Und offenbar funktionieren die heutigen Computer doch recht gut, oder? D.h. es scheint keinerlei Probleme damit zu geben, auch nicht-mathematische Umformungen auf mathematische Umformungen zurückzuführen.

Vielen Dank für die interessante Diskussion, ich musste lange nachdenken, was ich Ihnen zurückschreibe, denn Sie haben mich auf einige ganz neue Gedanken gebracht zu einem Thema, das ich bislang fraglos hingenommen habe.

Grüße --Holman 14:39, 8. Aug. 2009 (CEST)Beantworten

Vielen Dank, Kollege Holman, für Ihren Beitrag vom 6.8.09. Es freut mich, dass Sie meine Äußerungen als interessant gefunden haben. Ich muss Sie leider wiederum um Geduld bitten, denn unsere Sache, besonders betreffend der Arithmetisch-logischen Einheit (ALU) bedarf meinerseits ein weiteres Studium der zugänglichen Literatur, sowie persönliche Diskussionen mit sachkundigen Fachleuten. Was ich bisher gefunden habe, spricht etwas in dem Sinne, dass diese ALUs in die älteren Computer, genauer Kalkulatoren eingebaut worden waren. Aber dies kann ich noch nicht als bestätigt verkünden.

Auf der Suche nach Informationen in der Wikipedia, bin auch an den Artikel: „Physikalische Größe“ gestoßen. Da schreibt der Autor dieses Artikels, dass ein Zustand keine physikalische Größe ist. Ich habe dazu meine Meinung in der Diskussion, unter dem Titel: „Zustand, niemals eine physikalische Größe?“ angeführt, und einige Wikipedianer haben schon darauf reagiert. Vielleicht könnte Sie diese Diskussion interessieren, obgleich sie nur teilweise mit unserem Problem zusammenhängt. Einstweilen m.f.G. --Klubera 23:03, 13. Aug. 2009 (CEST)Beantworten

Lieber Kollege Klubera,
die ALU wird auch noch in allen heutigen Computern eingesetzt; in der englischen Wikipedia steht das klarer als in der deutschen "The ALU is a fundamental building block of the central processing unit (CPU) of a computer, and even the simplest microprocessors contain one for purposes such as maintaining timers.". Für unsere Diskussion ist es vielleicht gar nicht nötig, dass Sie ganz genau die technischen Einzelheiten einer ALU studieren – der entscheidenende Punkt, auf den mir es ankommt, ist, das auch heutige Computer alle Umformungen von Eingabe-Bitmuster in Ausgabe-Bitmuster auf mathematische Umformungen zurückführen. Wenn Sie sich den Artikel Arithmetisch-logische Einheit in der deutschen Wikipedia mal durchlesen, dort steht ganz gut aufgelistet, welche Umformungen die ALU (nur) beherrscht. Und tatsächlich werden alle Funktionen, die heutige Computer durchführen, egal ob das Textverarbeitung ist oder sonst was anderes, "innen drin" nur vermittels dieser Umformungen der ALU erledigt.
Danke erstmal für den Hinweis auf Ihre Diskussion bei "Physikalische Größe", das gucke ich mir dann noch an!
Viele Grüße --Holman 22:48, 15. Aug. 2009 (CEST)Beantworten


Lieber Kollege Holman, ich habe mir die von Ihnen empfohlene Seite betreffend der Arithmetisch-logischen Einheit aufgesucht, und dazu noch die der Gleitkommaeinheit, und das in verschiedenen Sprachen und muss Ihnen recht geben, dass es so etwas, in verschiedenen Ausführungen wahrscheinlich auch in den heutigen Computern gibt. Dennoch brauche ich einige Zeit, um sich die Zusammenhänge zwischen der Ausgabe-Bitmustern und den mathematischen Umformungen, besonders bei der Textverarbeitung, wie Sie erwähnt haben, überlegen zu können. In dieser Hinsicht bin ich zu der folgenden praktischen Erfahrung gekommen. Im vorigen Jahr habe ich ein Handbuch in englischer Sprache, im PDF Format zum übersetzen ins tschechische bekommen, das vorher aus dem japanischen Original übersetzt war. Da gab es im Text Passagen, wo Bedienungspaneele der betreffenden Metall-Bearbeitungsmaschine abgebildet waren, die dem Bediener Anweisungen geben sollten. Aber anstatt lesbarer Schriftzeichen erschienen da Ersatzzeichen in der Form von Vierecken. Und was nun? Nach verschieden Versuchen bemerkte ich eine Aufforderung auf dem Bildschirm meines Computers, sich an das Internet anzuschließen. Nachdem ich dieser Auforderung gefolgt habe, wurde mir in meinen Computer von der Gesellschaft Adobe das Programm Reader 9 installiert. Das half aber noch nicht. Erst nach dem ausnützen einer zweiten Aufforderung bekam ich den japanischen Zeichensatz in den Computer. Dann war Alles betreffend meiner Arbeit in Ordnung. Bis auf die Frage, was hat der japanische Zeichensatz mit der englischen Sprache zu tun? Normalerweise nichts, aber hier doch. Man darf sich nicht denken, dass Handbücher, besonders bei dem Produzenten der Maschinen, die mehrere Varianten in Detailen haben, immer nur selbstständige Personen schreiben oder übersetzen. Um die notwendige Zeit zu sparen, werden oft mehrere Personen dazu benutzt, wo ein jeder eine andere Passage zum erledigen bekommt. Und hier haben wir einen Teil der Antwort. Der „Künstler“, der die Bedienungspaneele der Maschine beschrieben hat, benutzte zu der diesbezüglichen Beschreibung den japanischen Zeichensatz, der auch das englische Alphabet beinhaltet. Und jetzt kommt der zweite Teil der Antwort: das englische Alphabet im japanischen Zeichensatz hat andere Codenummern, als im englischen Zeichensatz. Darum hat sich mein Computer mit Händen und Füßen gewundert, was ihm als Speise vorgelegt wurde, was er selbstverständlich nicht verdauen konnte. Man könnte hier noch einen dritten Teil der Antwort zufügen der sagt, dass diese Codenummern nur einstellige Ziffern 0 bis 9 benutzen, und die Ziffern 10 und die weiteren mit großen Buchstaben bezeichnet sind. Es würde mich interessieren, ob oder welche mathematische Umformungen mit solchen Codenummern „innen drin“ im Computer gemacht werden, um Texte schreiben zu können. Haben Sie, Kollege Holman schon mal versucht, Macros für den Texteditor MS Word zu programmieren? Für diesmal muss ich enden, da ich wieder eine Reise machen werde. M.f.G. --Klubera 23:09, 19. Aug. 2009 (CEST)Beantworten

Lieber Kollege Klubera!

Damit Sie nachvollziehen können, warum man alle Aufgaben eines Computers auf logische und Dualzahl-Berechnungen zurückführen kann, werde ich mal versuchen, an einem Beispiel zu erklären, wie ein Computer funktioniert. Mein Beispiel soll ein Computerprogramm sein, das alle Großbuchstaben eines eingegebenen Textes in Kleinbuchstaben umwandelt. Aus meiner Erklärung wird hoffentlich klar, warum man das mit "mathematischen Berechnungen" machen kann, obwohl diese Aufgabe ja zunächst mal gar nichts mit Mathematik zu tun hat.

Zunächst mal muss man festgelegt haben, wie man die Zeichen, die sich auf einer üblichen Tastatur befinden, im Computer abspeichern will. Wie Sie ja wissen, besteht der Speicher eines Computers aus Speicherzellen, die jeweils zwei Zustände annehmen können. Wieviele Speicherzellen braucht man für ein Zeichen? Da es 26 Großbuchstaben gibt, 26 Kleinbuchstaben, dazu noch ein paar Sonderzeichen wie Punkt und Komma, sowie 10 Ziffern gibt, kommt man mit 7 Speicherzellen zur Abspeicherung eines einzelnen Zeichens gut hin, denn darin kann man 2 hoch 7 = 128 verschiedene Zeichen abspeichern. Das reicht also locker aus, um alle Zeichen, die sich auf einer Tastatur befinden, abzuspeichern. (Aus praktischen Gründen nimmt man noch eine Speicherzelle hinzu, in der man eine Prüfinformation abspeichert.)

Damit kann man dann also mit 8 Speicherzellen ein einzelnes Zeichen abspeichern. Beispiel: Um also einen 1000 Buchstaben langen Text abzuspeichern, braucht man 8000 Speicherzellen. (Anmerkung: das sind 8000 bits, und da ein byte 8 bits sind, sind das 1000 bytes, also ein kilobyte.)

Man muss nun noch festlegen, welche Speicherbelegung welches Zeichen bedeuten soll. So könnte man z.B. festlegen, das die Speicherzellenbelegung 1000001 (wobei 1 und 0 hier für die zwei verschiedenen Zustände einer einzelnen Speicherzelle steht) den Buchstaben "A" bedeutet. Und man könnte festlegen, dass die Speicherbelegung 1000010 den Buchstaben "B" bedeutet. Und man könnte festlegen, dass die Speicherbelegung 1000011 den Buchstaben "C" bedeutet. Und ebenso für alle anderen Buchstaben.

Mit anderen Worten, wenn man z.B. am Anfang den Buchstaben A eintippt, sollen die Speicherzellen 1 bis 8 im Computer mit 01000001 gefüllt werden. Und wenn man danach den Buchstaben C eintippt, sollen die Speicherzellen 9 bis 16 mit 01000011 gefüllt werden. Bei der Ausgabe muss man diese Speicherzellen wieder entsprechend umsetzen, so soll also z.B. auf dem Bildschirm ein A ausgegeben werden, wenn die Speicherzellenbelegung 01000001 ist.

Man kann nun diese Belegungen der Speicherzellen auch als Dualzahlen auffassen, z.B. 01000001 als die Dualzahl, die dezimal dargestellt 65 bedeutet. Oft schreibt man diese Zahlen auch als Hexalzahl, dies ist "41" (weil die ersten vier 0100 "4" sind und die letzen vier 0001 "1" sind).

Wie gesagt, man muss also festlegen, welche 8-stellige Dualzahl (oder 2-stellige Hexalzahl) für welchen Buchstaben steht. Eine solche Festlegung ist beispielsweise der häufig gebrauchte ASCII-Code.

Wenn der ASCII-Code verwendet wird, lautet eine mathematische Vorschrift zur Umwandlung aller Großbuchstaben in Kleinbuchstaben (alles in Dualzahlen ausgedrückt):

Wenn der Speicherinhalt kleiner oder gleich 1000000 ist, dann tue nichts.

Wenn der Speicherinhalt größer oder gleich 1011011 ist, dann tue nichts.

Wenn der Speicherinhalt größer als 01000000 und kleiner 1011011 ist, dann addiere 100000 dazu.

Bitte sehen Sie sich dazu die ASCII-Tabelle in der englischen Wikipedia an, um zu verstehen, wieso diese Vorschrift funktioniert. Dort ist zu jedem Buchstaben ("Glyph") die entsprechende Dualzahl ("Binary") (sowie Hex-Zahl ("Hex") und Dezimalzahl ("Dec")) aufgelistet. Damit sollte die Vorschrift klar sein.

Mit anderen Worten, um die Umwandlung von Großbuchstaben in Kleinbuchstaben vorzunehmen, muss der Computer "innen drin" nur logische Bedingungen auswerten und mathematische Grundrechenarten auf Dualzahlen anwenden können. Wie gesagt, dies ist Aufgabe der ALU (arithmetisch-logische Unit), die Teil der CPU ist. Das ist also das zentrale Steuerelement eines Computers.

So, das war jetzt alles sehr technisch und vielleicht etwas schwierig nachzuvollziehen. Der entscheidende Punkt ist aber hoffentlich an diesem Beispiel klar geworden: Man kann im Prinzip jede Umformung eines beliebigen Inputs in einen beliebigen Output im Computer als mathematisch-logische Umformung von Input-Dualzahlen in Output-Dualzahlen programmieren.

Sie könnten vielleicht dagegen einwenden, dass mein Beispiel nur klappt, weil die Großbuchstaben und die Kleinbuchstaben in ASCII-Code hintereinander liegen, also fortlaufenden Dualzahlen zugeordnet sind. Aber auch wenn da eine andere Zuordnung vereinbart wäre, kann man die Umwandlung immer machen, in dem man genügend "wenn-dann"-Bedingungen bei der mathematischen Vorschrift zur Umwandlung einführt.

Ein weiteres Argument von Ihnen könnte vielleicht sein, dass ich in dem Beispiel von mir überhaupt nicht darauf eingegangen bin, wie nun die Zuordnung von Buchstaben und Dualzahlen technisch realisiert wird.

Das liegt aber daran, dass das den Computer selbst innen drin überhaupt nicht betrifft, sondern die Geräte wie Eingabetastatur und Bildschirm-Ausgabe. In der Praxis macht man das z.B. so, dass man die Punkte auf dem Bildschirm so ansteuert, dass die das Bild des Buchstabens "A" ergeben, wenn 1000001 vom Computer angeliefert wird, usw. (Das war jetzt extrem vereinfacht dargestellt. In Wirklichkeit ist dafür ein Programm wie beispielsweise Adobe Reader 9 und die Grafikkarte zuständig.)

Um Ihre Frage zu beantworten, ja, ich habe schon mal Word-Makros programmiert, und auch das Problem mit dem japanischen Zeichensatz ist mir nicht unbekannt.

Ich glaube, man kann meine Antwort so zusammen fassen, dass der der Computer selbst die Bedeutung der Eingabe und Ausgabe gar nicht kennt, er fasst alles als Dualzahl auf, mit der er irgendwelche mathematisch-logischen Umformungen macht. Welche das sind, muss man ihm natürlich vorher eingegeben haben. Dass heißt, wenn ein Computer die Aufgabe lösen können soll, aus Großbuchstaben Kleinbuchstaben zu machen, muss man die entsprechende Vorschrift dafür irgendwann man in ihn einprogrammiert haben. (Und man muss festgelegt haben, welches Bitmuster welchen Buchstaben darstellen soll, und die Ein- und Ausgabe entsprechend gestalten.)

Viele Grüße Ihr Holman 16:06, 27. Aug. 2009 (CEST)Beantworten