bitweise Operatoren sind ne Krankheit. Die machen mir wirklich das Leben schwer.
Zitat von: messie am 28 Dezember 2008, 13:41:17bitweise Operatoren sind ne Krankheit. Die machen mir wirklich das Leben schwer. Wieso, das ist doch ganz simpel ?
Ich krieg hier mit diesem Rechts-Shift und Links-Shift und diesem Einerkomplement nochmal die Krise ... geht mir nicht ins Hirn wo man die braucht und wie man sie dann einsetzt ... *grummel*
Zitat von: Thomas am 28 Dezember 2008, 14:38:36Zitat von: messie am 28 Dezember 2008, 13:41:17bitweise Operatoren sind ne Krankheit. Die machen mir wirklich das Leben schwer. Wieso, das ist doch ganz simpel ?Für dich.
Ich krieg hier mit diesem Rechts-Shift und Links-Shift...
und diesem Einerkomplement
geht mir nicht ins Hirn wo man die braucht und wie man sie dann einsetzt ... *grummel*
man braucht einfach nur die richtigen Eselsbrücken. Würde man Thomas´ Meinungen mit dem Rest des Forums bitweise XOR verknüpfen, hätte man eine knorke, durchgehende 1er-Linie.
Zitat von: messiegeht mir nicht ins Hirn wo man die braucht und wie man sie dann einsetzt ... *grummel* Also solange man nicht mit Hardwareprogrammierung zu tun hat, wüßte ich jetzt auch nicht auf Anhieb, wozu man das ganze Logikzeugs brauchen würde.
Zitat von: Thomas am 28 Dezember 2008, 17:53:26Zitat von: messiegeht mir nicht ins Hirn wo man die braucht und wie man sie dann einsetzt ... *grummel* Also solange man nicht mit Hardwareprogrammierung zu tun hat, wüßte ich jetzt auch nicht auf Anhieb, wozu man das ganze Logikzeugs brauchen würde.Naja, wie "Hardware-nah" Assembler-Programmierung jetzt ist, ist sicher auslegungssache, aber da kann man es zum Beispiel ganz hervorragend gebrauchen. Und in zich anderen Programmiersprachen auch.
Ich sag mal lieber nix dazu, aber dieses rechts- und links- schieben hat schon so manches zeitraubendes MUL und DIV erfolgreich ablösen können
Zitat von: K-Ninchen am 29 Dezember 2008, 03:00:46Ich sag mal lieber nix dazu, aber dieses rechts- und links- schieben hat schon so manches zeitraubendes MUL und DIV erfolgreich ablösen können Aber wer fängt denn deswegen in einer Hochsprache an, die bits hin- und her zu schieben ?Vor allem : Zeitersparniss : Das schreibt die Frau, die Flash&Co. mit ihren ewig langen Lade- und Initialisierzeiten total geil findet
Zitat von: Thomas am 29 Dezember 2008, 09:02:42Zitat von: K-Ninchen am 29 Dezember 2008, 03:00:46Ich sag mal lieber nix dazu, aber dieses rechts- und links- schieben hat schon so manches zeitraubendes MUL und DIV erfolgreich ablösen können Aber wer fängt denn deswegen in einer Hochsprache an, die bits hin- und her zu schieben ?Vor allem : Zeitersparniss : Das schreibt die Frau, die Flash&Co. mit ihren ewig langen Lade- und Initialisierzeiten total geil findet Hochsprache heißt ja nicht, dass im Assembler etwas völlig anderes herauskommt als man da programmiert hat.Gute Compiler setzen diese Shift-Befehle ziemlich direkt um ohne aufwändige Funktionsaufrufe, und im Idealfall direkt auf die entspr. Register ohne großartig den Stack zu bemühen.
Und der Unterscheid von Flash zu Hochsprachen ist ganz einfach (und diese Werte sind ganz persönliche Erfahrungswerte):Aufwändiges Computerspiel in Flash programmieren: Vielleicht 1 Monat, und läuft auf PC, Linux, Mac, etc.Das selbe in C++ mit dem ganzen Gedöhns: Mehrere Monate. und läuft nur auf PC.Und davon abgesehen, dass man mit zweiterem fast nix verdient (Es sei denn man programmiert im Alleingang Far Cry 4) , sitze ich lieber einen Monat daran statt ein halbes Jahr
Also bitte provoziere keine weiteren Antworten zu diesem sehr prekären Thema, Thomas
Zitat von: K-Ninchen am 29 Dezember 2008, 13:52:42Zitat von: Thomas am 29 Dezember 2008, 09:02:42Zitat von: K-Ninchen am 29 Dezember 2008, 03:00:46Ich sag mal lieber nix dazu, aber dieses rechts- und links- schieben hat schon so manches zeitraubendes MUL und DIV erfolgreich ablösen können Aber wer fängt denn deswegen in einer Hochsprache an, die bits hin- und her zu schieben ?Vor allem : Zeitersparniss : Das schreibt die Frau, die Flash&Co. mit ihren ewig langen Lade- und Initialisierzeiten total geil findet Hochsprache heißt ja nicht, dass im Assembler etwas völlig anderes herauskommt als man da programmiert hat.Gute Compiler setzen diese Shift-Befehle ziemlich direkt um ohne aufwändige Funktionsaufrufe, und im Idealfall direkt auf die entspr. Register ohne großartig den Stack zu bemühen.Ja, nur ist mir bei einer Hochsprache doch normalerweise relativ latte, was die CPU mit den Bits anstellt, ich habe meine Hochsprachenbefehle, und gut.Und wenn ich schon aus Zeitgründen auf Assembler-Teile zurückgreifen muß, dann doch auf direkte Multiplikations/Division-Befehle, und nicht auf die Bitschieberei.Ganz spezielle, extrem zeitkritische Sachen mal außen vor gelassen.Und wenn ich mir angucke, wie heutzutage mit Ressourcen rumgeaast wird (z.b. Java-Applets&Co.), glaub ich kaum, das einer noch auf die paar Nanosekunden Rücksicht nimmt, die er mit den Shiftbefehlen sparen könnte.Zitat von: K-NinchenUnd der Unterscheid von Flash zu Hochsprachen ist ganz einfach (und diese Werte sind ganz persönliche Erfahrungswerte):Aufwändiges Computerspiel in Flash programmieren: Vielleicht 1 Monat, und läuft auf PC, Linux, Mac, etc.Das selbe in C++ mit dem ganzen Gedöhns: Mehrere Monate. und läuft nur auf PC.Und davon abgesehen, dass man mit zweiterem fast nix verdient (Es sei denn man programmiert im Alleingang Far Cry 4) , sitze ich lieber einen Monat daran statt ein halbes Jahr OK, aber das ist mir als Anwender sowas von egal Mich nervt nur die Ressourcenfresserei von Flash&Co.Zitat von: K-NinchenAlso bitte provoziere keine weiteren Antworten zu diesem sehr prekären Thema, Thomas Doch
Menno...Naja, Bitschiebereien sind einfach nützlich. So Stell dir vor, du hast einen Haufen Daten, aber er besteht nicht aus 8-Bit, sondern 6-Bit Einheiten, direkt hintereinander angeordnet. Da kommt man um Schiebereien nicht drum herum! Das ist generell bei allen Bitstreams so, die so eng gepackt sind, dass jedes einzelne Bit zählt. Das ist für Kompressionsalgorithmen ganz interessant. Oder wenn du ein 1-Bit Audiosignal abspielen willst (hat in etwa Megaphon-Qualität, in der Szene ja recht gängiges Klangmuster), wär es doch am einfachsten, das Bit, was an den Lautsprecher gesendet wird, einfach dran "vorbeizuschieben".Schiebereien ohne Maskierungen machen oft nur wenig sinn. Also wenn, dann hat man es meist mit dem ganzen Paket Bit-Operatoren zu tun. Ich muss zugeben, ich liebe diese Dinger total So ein Baukasten voller lustiger kleiner Operatoren, die lustige Dinge tun.
Zitat von: K-NinchenMenno...Naja, Bitschiebereien sind einfach nützlich. So Stell dir vor, du hast einen Haufen Daten, aber er besteht nicht aus 8-Bit, sondern 6-Bit Einheiten, direkt hintereinander angeordnet. Da kommt man um Schiebereien nicht drum herum! Das ist generell bei allen Bitstreams so, die so eng gepackt sind, dass jedes einzelne Bit zählt. Das ist für Kompressionsalgorithmen ganz interessant. Oder wenn du ein 1-Bit Audiosignal abspielen willst (hat in etwa Megaphon-Qualität, in der Szene ja recht gängiges Klangmuster), wär es doch am einfachsten, das Bit, was an den Lautsprecher gesendet wird, einfach dran "vorbeizuschieben".Schiebereien ohne Maskierungen machen oft nur wenig sinn. Also wenn, dann hat man es meist mit dem ganzen Paket Bit-Operatoren zu tun. Ich muss zugeben, ich liebe diese Dinger total So ein Baukasten voller lustiger kleiner Operatoren, die lustige Dinge tun.Na gut, da mag das Sinn machen.Auch sind logische Operatoren insgesamt sicher gelegentlich mal sinnvoll, aber wie du schon schriebst, speziell diese Schiebebefehle ohne weitere Maskierungen sind nur sehr selten sinnvoll anzuwenden.Und der Programmierer, der nur Anwendungen für Versicherungen schreibt oder ähnliches wird mit dem ganzen eher selten in Berührung kommen, vermute ich.Ich bin ja kein Berufsprogrammierer, aber in meiner Ausbildung habe ich an selbstgebauten Kleinstcomputern ständig irgendwelche Portdaten in verschiedensten Formen verarbeitet, und da habe ich mir immer durch Byteweise maskierung ein Byte zur Auswertung ausgelesen, mit Daten unterhalb von 8 Bit habe ich mich also gar nicht erst beschäftigt
BTW: Was ist denn ein 1-Bit-Audiosignal ? Das ist doch dann nur ein Knacken im Lautsprecher oder wie ?