Hallo lieber Namensvetter,
also gibt es so sozusagen eine Maschinensprache (über die ich mich jetzt denke ich mal als erstes informieren werden) die jeder Computer versteht^^ (mal so als Laie gesagt)
nein, die Formulierung (oder vielleicht der Gedanke) ist falsch.
Es gibt nicht "eine" Maschinensprache, sondern jeder Rechnertyp hat seine eigene Maschinensprache. Deswegen muss auch der Programmcode in C/C++ als typische Compilersprache für jede Zielplattform speziell übersetzt werden.
jetzt muss ich also mir sozusagen befehle ausdenken, und dann diese befehle durch ein von mir geschriebenes Programm in die Maschinensprache übersetzen.
Ja. In die individuelle Maschinensprache des Systems, auf dem der Code dann ausgeführt werden soll.
also um mal ein Beispiel zu bringen:
der Pc ist deutscher und ich will das er hallo welt sagt.
also sage ich jetzt BLABLÜBLI und mein programm übersetzt das in gutes Deutsch :" sag hallo welt !" und dann kann der PC das machen?
Im Prinzip ja.
dann frag ich mich jetzt nur noch warum der PC die Maschinensprache versteht und wie das alles funktioniert^^
Der Prozessor eines Computers kann nur eine Anzahl vergleichsweise primitiver Vorgänge ausführen. Er kann Informationen aus bestimmten Speicherbereichen lesen oder dorthin schreiben, er kann Daten an Peripheriegeräte senden oder von ihnen empfangen, er kann Berechnungen anstellen oder Zahlenwerte vergleichen und anhand dieser Vergleiche einfache Entscheidungen treffen. Selbst einfache Anweisungen ergeben daher eine ziemlich lange Folge von Prozessorbefehlen. Nehmen wir beispielsweise die einfach aussehende C-Anweisung
ptr = malloc(buffersize+1);
Das sind folgende Einzelschritte:
* Hole den Wert der Variablen buffersize
* Addiere den Wert 1 dazu
* Lege das Ergebnis auf dem Stack ab (so werden Funktionsparameter übergeben)
* Rufe die Funktion malloc auf
* Räume den Parameter von vorher wieder vom Stack ab
* Speichere das Ergebnis in der Variablen ptr
Bereits beim Übersetzen dieses Codes hat der Compiler sichergestellt, dass die Anweisung syntaktisch korrekt ist und dass alle Variablen vom richtigen Typ sind, so dass das Ganze überhaupt Sinn ergibt.
aber ich bin ja erst 17 jahre und habe jetzt mal einen Denkanstoß aber es fasziniert mich einfach die funktionsweise ein wenig zu ergründen weil etwas das besser schach spielt als ich obwohl es nur 0 und 1 kennt ist schon faszinierend :-D :-D :-D
Yo, die Menge und die Bedeutung der Nullen und Einsen bringt's eben. ;-)
Ciao,
Martin
Was du heute kannst besorgen,
das geht sicher auch noch morgen.