Wie kann der Computer 0 und 1 verstehen?

...komplette Frage anzeigen

16 Antworten

Wie macht der Computer das? Mal einfach erklärt:
- Du hast 16 Lampen
- an jeder Lampe ist ein Schalter mit dem Du die Lampe ein- und ausschalten kannst
- an den Schaltern steht ein Typ - Du mit Deiner Tastatur zB
- hinter den Lampen steht ein Typ und schaut welche Lampen leuchten - CPU

Du hast ein Betriebssystem - quasi das Hirn des Mannes der sich die Lampen anguckt - CPU - und der hat im Kopf einen Plan - Betriebssystem - in welchem steht was der Mann an den Schaltern sagen will wen er die Lampen in verschiedenen Kombinationen ein- / ausschaltet.

Auf diese Art wählt der Benutzer - an den Schaltern - eine Lampenkombination (Eingabe) und die CPU weiß was er sagen will.

Auf der anderen Seite hat der Typ der sich die Lampen anguckt - CPU - auch Schalter um zB ein Zeichen auf einem Monitor darzustellen.

Das ganze Konstrukt, nur sehr sehr viel komplexer könnte als Denkanstoss her halten.

Nebenbei ist die ausführliche Erklärung mit Transistoren usw. zwar technisch ok (obwohl ein Transistor NICHT nur zwei Situationen kennt, eine digitale Schaltung aber sehr wohl), doch etwas umständlich.

Analog - von 0 bis ....... in zig Zuständen möglich, steigend oder fallend
Digital - nur zwei Zustände möglich, ja oder nein, 0 oder 1, an oder aus

Und um Deine Eingangsfrage zu beantworten: der Computer nimmt 'Worte' entgegen. Und zwar die 'Worte' die sich aus den leuchtenden und dunklen Lampen ergeben (0 und 1)

simpel:
0010010010000000 = schalte
0000000110000000 = Lampe 1
0000000000000001 = ein

danke!

0

0 und 1 kannst du dir nicht als Zahl vorstellen.

Im Computer gibt es sehr viele Transistoren, und zu diesen Transistoren fließt entweder Strom oder kein Strom.

Und das ist, was der Computer als 0 und 1 interpretiert.

Möchtest du näheres darüber erfahren, dann ist dein Stichwort: technische Informatik.

Ich hoffe, ich konnte dir helfen.

LG Willibergi

Mit Transistoren, die ähnlich wie ein mechanischer Schalter das Ein- und Ausschalten einer Spannung ermöglichen, lassen sich kompliziertere Bauteile realisieren, wie z.B. das logische UND oder das logische ODER. Aus diesen Bauteilen wiederum lassen sich z.B. Schaltungen bauen, welche zwei Dualzahlen addieren / subtrahieren, bitweise logisch verknüpfen, etc. Solche Schaltungen werden von der CPU aktiviert, wenn sie z.B. den Befehl zum Addieren, oder zum Kopieren eines Registers oder einer Speicherstelle im RAM bekommen. 

Um Informationen festzuhalten gibt es auch sogenannte Flipflops die auch aus logischen Gattern zusammengebaut sind. Diese ermöglichen es eine Eins oder eine Null festzuhalten, damit man später darauf zurückgreifen kann. 

So ein Computer besteht aus vielen aufeinander gestapelten Schichten, so dass wenn man in einer höheren Programmiersprache etwas programmiert, man nicht auf die unbequemen ADD, SUB, MOV usw. zurückgreifen muss, diese sind abstrahiert. Wenn man Assembler programmiert tut man aber genau das. 

Ich erkläre mir das so, ein Computer ist ein elektrisches Gerät und bei dem Strom gibt als Zustand nur an oder aus. deshalb wird auch von einem dualen Zahlensystem gesprochen. Durch zusammenfassen von Bits ergeben sich dann Bytes.

wie andere schon geschrieben haben, sind 0 oder 1 einfach Zustände, keine Zahlen an sich.

Wenn du dich mal mit programmieren beschäftigst, wirst du sehen, daß du Abfragen nur mit „wahr“ oder „falsch“ formulieren kannst!

Die Abfrage auf „Hell“ kann nur mit „Ja“ oder „Nein“ beantwortet werden. Aber wo ziehst du die Grenze für „Hell“? Ist die Morgendämmerung schon „hell“? Oder wie willst du mit „if ... then .. else“ unterscheiden ob es „etwas hell“ ist?

Das geht mit der dualen Logik nicht! Genauso wenig es immer eindeutig ein Gut oder Böse gibt ... auch wenn manche versuchen solche Vereinfachungen vorzunehmen.

Auch ein „case“-Konstrukt kann einen komplexen Zusammenhang nicht oder nur angenähert beschreiben.

Wenn du dich mal mit „Fuzzy-Logik“ beschäftigst, wird dir wohl „ein Licht“ aufgehen.

Suche auch mal nach dem Begriff „Assoziativ-Speicher“ bzw „assoziative Logik“.

Ein Beispiel von vielen:

https://de.wikipedia.org/wiki/SAIL_%28Programmiersprache%29

Weil er nur den unterschied zwischen, Strom fließt und kein Strom fließt kennt. Es gibt nicht 2 Ströme oder halber Strom. Ein Lampe kannst du auch nicht 2 mal einschalten, entweder sie brennt oder sie brennt nicht. Ich hoffe ich konnte dir weiter helfen.

Elektrischer Strom kann ja nur zwei Dinge: Fließen oder nicht fließen. Da der PC aber keine Spannungen unterscheidet (zumindest hier nicht) gibt es nur 0 und 1. Bei einigen Systemen gibt es nun doch ein "dazwischen", bei SSDs und Flash-Speichern zum Beispiel.

Also die Frage warum 1 und 0, weil man An und Aus eine Bezeichnung geben musste und dafür 0 und 1 genommen hat. Nichts oder doch etwas.

Die Frage warum der Computer nicht 2 oder 3 versteht beantwortet sich mit dem Fakt das ein Transistor nur zwei Zustände haben kann. An oder Aus. Was willst du dem Computer noch über den Transistor sagen? Das er Grau ist? Das kann der Computer leider nicht lesen. Er kann nur gucken, ist da Strom drauf, oder nicht. Also mach dich nicht damit verrückt das er nur 1 und 0 versteht sondern denk eher so darüber das er nur Zwei Zustände erkennen kann und man aus dem Grund 1 und 0 zur Bezeichnung ausgesucht hat.

Es ist ja nicht unbedingt 0 und 1, sondern Strom an bzw. Strom aus. Und seine Architektur ist nun mal so. Außerdem ist es so viel schneller als ein Dezimalrechner (hat man ja früher gesehen, als die ersten Dezimalrechner aufkamen)

jetzt bleibt nur nuch die frage wie er es macht....

0
@gerlochi

Such mal den Schaltplan von einem NAND - Gatter auf Google oder so. Wenn du den lesen kannst, erklärt sich das .

1

danke

0

Bei digitalen Signalen, also mit Transistoren gibt es eben nur den Zustand an oder aus, weil Transistoren mit analogen Signalen (also variablen Voltzahlen) nichts anfangen können. Weil Transistoren gerade die einzige Sinnvolle Methode sind logische Gates etc zu bauen, gibt es eben nur digitale Computer.

weil es reicht wenn er nur 0 und 1 interpretieren kann. alle anderen werte könne in der schreibweise übertragen werden

Ich zitiere ja nur ungern Wiki, aber in diesen Sätzen steht, was du wissen willst:


"Bei der Entwicklung von elektronischen Rechenmaschinen erlangte das Dualsystem große Bedeutung, denn in der Digitaltechnik werden Zahlen durch elektrische Zustände dargestellt. Bevorzugt werden zwei komplementäre Zustände wie Strom an / Strom aus oder Spannung / Masse verwendet, da auf diese Weise sehr fehlerresistente und einfache Schaltungen zu realisieren sind. Diese zwei Zustände lassen sich dann als Ziffern benutzen. Das Dualsystem ist die einfachste Methode, um mit Zahlen zu rechnen, die durch diese zwei Ziffern dargestellt werden."

Und mit diesen Zahlencodes kannst du dann alles realisieren.

Du hast ein Eingabewerk 01 (Maus, Scanner, Tastatur)

Du hast ein Leitwerk - das ist der Prozessor, kann man auch als Rechenwerk bezeichnen. Das Rechenwerk verarbeitet den Binärcode.

01+01

Du hast ein Ausgabewerk Ergebnis = 10 (Ducker, Bildschirm) 

LA

Das Zweiersystem, also nur 0 und 1, hat sich als sehr praktisch bewiesen. Andere Zahlensysteme wären noch aufwendiger und somit teurer, sind aber durchaus machbar.

Übrigens gibt es für Spezialanwendungen auch Analogrechner.

In wie fern gehst du denn auf seine Frage ein?

0
@Berny96

Die Elektronik erkennt, ob Strom fließt oder nicht. Bzw ob eine Spannung positiv oder negativ ist.

0

Der Computer versteht doch alles ? Was du meinst ist die technische Realisierung   eines Computers. Das ist einfach. Ein Computer bzw. der Prozessor in einem Computer ist , vereinfacht ausgedrückt, eine wilde Anordnung von elektrischen Schaltern. An denen kann Strom anliegen oder nicht. Also An oder  Aus bzw. 1 oder 0 . Wobei das strengegnommen schon abstrahiert ist.

ich verstehe aber nicht wie der computer es verstehen kann :-/

0
@gerlochi

Der Computer "versteht " gar nichts. Der zeigt nur das an bzw. verknüpft elektrische Zustände in den "Schaltern". Durch eine geschickte Anordnung kann man die Zustände (An oder Aus) auswerten in dem man festlegt das wenn am Schalter 1 und am Schalter 2 Strom ist nimmt ein 3. Schalter ebenfalls den Zustand "Strom liegt" an. Auf diese Weise kann man viele Schalter mit einander verbinden und irgendwann den Zustand von vielen Schaltern so interpretieren das der Bildschirm dir diese Webseite anzeigt.

0

Ich möchte gern eine eigene Linux Destrbution erstellen aber mir fehlt der Name, habt ihr einen? 

an diese Frage ( auch von dir) kann ich mich noch gute erinnern. Damals habe ich vor Hochachtung den Hut gezogen.  Ein Genie, nur so ein Name wie "Gerlochix"  fehlt noch.

Jetzt die Frage nach dem Einmaleins der Digitaltechnik.

Ist das jetzt eine Veralberung? 

Warum fängst du beim Lernen und dem Lesen von Büchern nicht mal ganz vorn an?

Auch Motorrad-Weltmeister können Dreirad fahren. Lerne daraus.

entschuldigung wenn ich von hinten anfange, aber ich habe in diesem und letzten jahr ein bisschen gelehrnt. ich habe erst das auto gefahren bevor ich unter den motor blickte. vielleicht war das ein fehler, aber damals war ich einfach zu dumm um dies zu verstehen. ich hatte träume, die wohl jeder in dieser zeit als linux, technick und co. einsteiger hat, ein eigenes system, so schnell und einfach wie möglich. ich wurde mir jedoch bewusst was für ein unsinn/eine träumerei dies war. ich fange an waren leidenschaften nachzugehen:"computer, wie sie arbeiten und wie man sie steuern kann". ich will erkunden wie ein computer aus und an lesen kann, wie er damit arbeitet, wie man das wissen nutzen kann. es ist jedoch schwer diese informationen aus meiner umgebung zu beziehen, da ich zu jung bin und niemand in meiner altersklasse auch nur daran denken würde zu erforschen wie es geht. vielleicht werde ich mit den informationen durch unreife nicht fertig, dann lehrne ich ebend weiter und stelle die frage dann nochmal. ich werde so lange lesen und lehrnen, bis ich es verstehe und bis ich verstanden habe wie ein computer funktioniert. ich habe daraus gelehrnt, nun möchte ich lehrnen und verstehen.

0
@gerlochi

da hast du noch viel zu tun.

C und C++ programmieren und nicht wissen was ein Bit ist.
Hier eine kleine Erklärung:

Ein Bit ( nicht zu verwechseln mit ein bit ) hat zwei Zustände. Wie man die bezeichnet ist dabei gleichgültig:

Das kann aus/ein oder 0/L oder 0/1 oder on/off oder flip/flop oder true/false oder ... sein.

Wie man in  C programmieren kann, ohne zu wissen, dass es in höheren Programmiersprachen kein "goto" gibt, das kann man verzeihen.

Nicht zu wissen, was ein Bit ist oder wie man den C-Befehl

 x = y << 2;

deuten soll ...  . Hier höre ich auf, um nicht wegen Beleidigung angeklagt zu werden.

0

Was möchtest Du wissen?