tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
697
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Hiho.
    Ich hab mir grad mal aus Spaß Brainfuck angeschaut.
    Hier gibt's ja bestimmt n paar die das auch schonmal ausprobiert haben
    Ich hätte da mal eine Frage ...
    Wenn ich jetzt, sagen wir mal die Zahl 4321 ausgeben möchte (bei 8-Bit), müsste ich dann etwa in jeden Byte die Ziffern 4 bzw 3 bzw 2 bzw 1 schreiben und diese dann nacheinander ausgeben?
    Und kann man irgendwie die ASCII-Ausgabe ausschalten (IDE-Abhängig?), damit man anstatt den ASCII-Werten einfach Zahlen ausgespuckt bekommt? :o Wäre ja doof, wenn man für die Zahl 255 3 Bytes bräuchte, obwohl man diese ja in einem Byte darstellen kann. Bei 64 Bit wäre das ganze ja noch schlimmer, dann vergeudet man ja noch viel mehr Speicherplatz
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Zitat Zitat von Irgendjemand_1 Beitrag anzeigen
    Wenn ich jetzt, sagen wir mal die Zahl 4321 ausgeben möchte (bei 8-Bit), müsste ich dann etwa in jeden Byte die Ziffern 4 bzw 3 bzw 2 bzw 1 schreiben und diese dann nacheinander ausgeben?
    Was meinst du mit „in jedem Byte“? In welcher Form liegt die Zahl 4321 überhaupt in deinem Programm vor?

    Zitat Zitat von Irgendjemand_1 Beitrag anzeigen
    Und kann man irgendwie die ASCII-Ausgabe ausschalten (IDE-Abhängig?), damit man anstatt den ASCII-Werten einfach Zahlen ausgespuckt bekommt? :o
    Nein, das wäre ja zu einfach Das ist aber wenn dann ein Feature des Interpreters/Compilers, nicht der IDE.

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Zitat Zitat von Matthias Reitinger Beitrag anzeigen
    Was meinst du mit „in jedem Byte“? In welcher Form liegt die Zahl 4321 überhaupt in deinem Programm vor?
    In gar keiner, das war nur ein Beispiel
    Mit "In Jedem Byte" meine ich nur die 4 Bytes für jeweils eine Ziffer. Nicht etwa alle 30.000
    Ich müsste ja im erstem Byte die 4 gespeichert haben, im 2. die 3, ...
    Und dann nacheinander alle ausgeben.
    Aber das ist doch extrem umständlich, oder?


    Zitat Zitat von Matthias Reitinger Beitrag anzeigen
    Nein, das wäre ja zu einfach Das ist aber wenn dann ein Feature des Interpreters/Compilers, nicht der IDE.
    Hm, das heißt bei zB der Zahl 11 hätte ich das selbe Problem wie mit der Zahl 4321? Obwohl ein Byte ja eigentlich ausreicht, um 256 darzustellen.
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

  4. #4
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.806
    Blog-Einträge
    5
    Zitat Zitat von Irgendjemand_1 Beitrag anzeigen
    Ich müsste ja im erstem Byte die 4 gespeichert haben, im 2. die 3, ...
    Und dann nacheinander alle ausgeben.
    Aber das ist doch extrem umständlich, oder?
    Wenn dir nacheinander ausgeben zu umständlich ist, dann schlag doch eine einfachere Methode vor. Mir ist zumindest keine bekannt. Wenn du eine Zahl auf ein Blatt Papier schreibst, schreibst du doch auch die Ziffern hintereinander auf, oder etwa nicht?

    Zitat Zitat von Irgendjemand_1 Beitrag anzeigen
    Hm, das heißt bei zB der Zahl 11 hätte ich das selbe Problem wie mit der Zahl 4321? Obwohl ein Byte ja eigentlich ausreicht, um 256 darzustellen.
    Es ist zwar schön und gut, dass sich 255 (nicht 256) in einem Byte darstellen lässt. Allerdings ist das nicht die Darstellung, die du für die Ausgabe haben möchtest. Also musst du eine Umwandlung vornehmen. Das ist in etwa vergleichbar mit einem Bild, das (verlustfrei) komprimiert abgespeichert wurde – es ist zwar schön und gut, dass man nur z.B. 10kB braucht, um die Bilddaten zu speichern, allerdings muss man zum Anzeigen des Bildes die unkomprimierte Fassung wiederherstellen, die deutlich mehr Speicher belegt. So ist das nun mal

    Grüße,
    Matthias
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  5. #5
    Avatar von Irgendjemand_1
    Irgendjemand_1 Irgendjemand_1 ist offline Mitglied Platin
    Registriert seit
    Aug 2005
    Beiträge
    656
    Zitat Zitat von Matthias Reitinger Beitrag anzeigen
    Wenn dir nacheinander ausgeben zu umständlich ist, dann schlag doch eine einfachere Methode vor. Mir ist zumindest keine bekannt. Wenn du eine Zahl auf ein Blatt Papier schreibst, schreibst du doch auch die Ziffern hintereinander auf, oder etwa nicht?
    Naja ich finde Brainfuck allgemein sehr umständlich
    Aber es macht halt Spaß.
    Nur würde es eben mehr Spaß machen, Zahlen, die größer als 9 sind, trotzdem noch in einem Byte darstellen zu können


    Zitat Zitat von Matthias Reitinger Beitrag anzeigen
    Es ist zwar schön und gut, dass sich 255 (nicht 256) in einem Byte darstellen lässt. Allerdings ist das nicht die Darstellung, die du für die Ausgabe haben möchtest. Also musst du eine Umwandlung vornehmen. Das ist in etwa vergleichbar mit einem Bild, das (verlustfrei) komprimiert abgespeichert wurde – es ist zwar schön und gut, dass man nur z.B. 10kB braucht, um die Bilddaten zu speichern, allerdings muss man zum Anzeigen des Bildes die unkomprimierte Fassung wiederherstellen, die deutlich mehr Speicher belegt. So ist das nun mal
    Okay, stimmt 255. Der Vergleich ist zwar schön und gut aber eigentlich auch falsch
    In der komprimierten Bilddatei sind die Informationen ... man könnte sagen verschlüsselt.
    In Brainfuck handelt es sich nur um eine andere Darstellung der Zahlen Sie werden ja nicht verändert, nur anders geschrieben (eben die zugehörigen ASCII-Zeichen).
    Aber Speicherverlust ist es auf jeden Fall.

    Meine Fragen wären damit wohl beantwortet. Danke dir

    Edit: Aber was bringt es dann, wenn man das ganze auf 16 Bit stellt?
    Dann wiederholt sich die ASCII-Tabelle ein paar mal, aber die Werte ändern sich kein Stück? Okay, man kann dann intern im Programm auf bis zu 60.000 (oder so) zugreifen, aber mir verschließt sich der Sinn der Sache oO
    Geändert von Irgendjemand_1 (01.06.08 um 02:49 Uhr)
     
    Just because you're paranoid, don't mean they're not after you.
    Kurt Cobain


    Experiment: Kohlkopf

Ähnliche Themen

  1. Grundlegende Fragen zu Firmenlogo animieren
    Von Jeannie007 im Forum Cinema 4D
    Antworten: 3
    Letzter Beitrag: 30.06.10, 15:54
  2. Antworten: 5
    Letzter Beitrag: 19.12.07, 19:10
  3. Grundlegende Fragen zu asp.Net (v2)
    Von Suchfunktion im Forum ASP
    Antworten: 2
    Letzter Beitrag: 26.01.06, 23:02
  4. Ein paar Grundlegende Fragen
    Von KooF im Forum 3D Studio Max
    Antworten: 4
    Letzter Beitrag: 15.03.05, 08:24
  5. Grundlegende Fragen zu HTML&Webdesign
    Von PAK im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 12.01.04, 19:44