Textausgabe in Brainfuck

  • Hallo Community,


    Ich möchte euch heute die Textausgabe in Brainfuck zeigen.


    l. Was ist Brainfuck
    ll. Was brauche ich
    lll. Die Textausgabe


    l. Was ist Brainfuck


    Brainfuck ist eine wirklich kleine, ich nenne sie mal Scriptsprache. Brainfuck, oderauch BF, besteht nämlich nur aus 8 Zeichen und zwar folgenden:


    Bei den anderen weiss ich nicht wie ichds erklären soll, seht einfach selbst in Abschnitt lll.


    ll. Was brauche ich




    lll. Die Textausgabe


    Nehmen wir das Beispielwort RHR.



    Als erstes nehmen wir unsere ASCII Tabelle zur Hand und schauen den ersten Buchstaben nach, also das R, und gucken, was er für einen Dezimalwert hat. In unserem Falle wäre das 82. Nun müssen wir irgendwie auf die Zahl 82 kommen. Wir könnten ja das ganze einfach addieren, also einfach

    Code
    1. +++++++++[...bis da 82 + stehen...].

    Da dies aber sehr aufwendig ist, machen wir es uns leicht und machen eine Multiplikation. Am nächsten wäre 9×9=81. Eine Multiplikation sieht wie folgt aus:

    Code
    1. +++++++++[>+++++++++<-]

    Das wäre 9×9. Man kann aber die Anzahl der + variieren. Damit wären wir bei 81. Wir wollen aber 82 weswegen das ganze dann wie folgt audsehen muss:

    Code
    1. +++++++++[>+++++++++<-]>+.

    Jetzt würde da R stehen. Ohne den Punkt hätte die Zelle nur den Wert 82, ohne das der Wert ausgegeben wird. Nun müssen wir wieder runter Richtung H, also schauen wir erst welchen Dez. Wert das H hat. Das wäre 72, also 10 weniger als vorher. Also subtrahierem wir 10:

    Code
    1. +++++++++[>+++++++++<-]>+.----------.

    Jetzt hätten wir RH. Nun müssen wir nochmal 10 hoch, also sieht das endgültige dann so aus:

    Code
    1. +++++++++[>+++++++++<-]>+.----------.++++++++++.

    Da würde nun RHR rauskommen.



    Ich hoffe, es hat euch gefallen und ihr könnt nun Texte in Brainfuck ausgeben.



    Lg Frosto

  • Es ist definitiv unnötig... aber mal interessant, auf welche Weise man Texte ausgeben kann. Werd ich mir auf jeden Fall mal genauer ansehen und dann mal meinen Info-Lehrer nerven, ob wir das mal machen können ^^


    Edit: Nur ma so aus Neugierde: Das hier wäre also mrxd:

    Code
    1. +++++++++++[>++++++++++<-]>-.+++++.++++++.----[>-----<].


    Oder hab ich da jetzt irgendetwas falsch verstanden?

    [IMG:http://img.romresources.net/3056.gif]

    Einmal editiert, zuletzt von mrxd ()

  • Es ist eine esoterische Programmiersprache, damit hätte sich die Frage ob das notwendig ist erledigt...
    Brainfuck implementiert im Prinzip eine Turingmaschine, was für einen Geek / Nerd / Wie auch immer man die Informatiker heute gerne bezeichnen will ganz lustig und amüsant sein kann, genauso wie alle anderen esoterischen Programmiersprachen.


    ~Sturmvogel


    Let the old ways live and prosper in the hearts of our young