Diskussion:Bitmap
Aus C64-Wiki
Zur Navigation springenZur Suche springenAlgorithmus[Quelltext bearbeiten]
Eigentlich hatte ich mir bei INT(x/8)*8 was gedacht (es leuchtet halt unmittelbar ein, wenn ich aus einem Rechteck ein bestimmtes Quadrat auswählen will). Diese Konstruktion x AND 504 versteht dagegen niemand, schon allein, weil ein Bytewert mit einem Wordwert maskiert wird, dessen Betrag sich auch nicht erschließt. Warum nicht der erstgedachte Algorithmus? --GoDot (Diskussion) 13:32, 17. Jul. 2016 (CEST)
- Ich hätte da schon einige Argumente ...
INT(X/8)*8
ist nicht so offensichtlich (wenn man sich das mal durchdenkt und nicht aus jahrelangem Gebrauch schon als Denkmuster im Hirn abrufbereit hat).AND 504
war ja unmittelbar darauf recht ausführlich erklärt und damit nicht mystischer, als einAND 7
weiter unten.- Das Konzept des "Bit-ausmaskierens" wird her mehrfach bemüht, d.h. der geneigte Leser muss sich mit der Funktionsweise von bit-weisem AND, OR, NOT so oder so auseinandersetzen. Da ist die Hürde auf bei
AND 504
ja nicht mehr so weit. Wenn das "AND" als Konzept zum Löschen von Bit einmal begriffen hat - was ja hier essentiell ist - dann erscheint einem die die arithmetische Herumrechnerei plötzlich umständlich und die AND-Variante schlicht elegant.
Umgekehrt müsste man, wenn man dem eingangs erwähnten Argument konsequent folgt, alle Bit-Operationen mit er dann schon etwas umständlich anmutender Arithmetik nur basierend auf "*", "/" und Funktion INT() realisieren. - Die Aussage ein Bytewert mit einem Wordwert maskiert wird kann ich nicht nachvollziehen, weil x praktisch Werte 0-319, definitiv ein 9-Bit-Wert und damit kein 8-Bit-Wert, wird aber von einem 16-Bit-Wert abgedeckt. Ebenso ist 504 auch in 9-Bit-Wert.
- Aber sei es wie es sei, es soll ja keiner unzufrieden sein. Daher hab ich Implementierungsangelegenheiten in einen eigenen Abschnitt verlagert und mal mit BASIC V2 begonnen. Eine Assembler-Variante folgt auch noch. Die ursprüngliche Algorithmusbeschreibung ist jetzt wieder hergestellt. ;)
--JohannKlasek (Diskussion) 18:46, 17. Jul. 2016 (CEST)
- ich bin überzeugt, durch diese Diskussion hier und durch die ausführlichere Darstellung im Lemma selbst ist die ganze Sache klarer geworden. Gefällt mir! --GoDot (Diskussion) 22:50, 18. Jul. 2016 (CEST)