![]() |
Logische Funktionen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Logische Funktionen (/Thread-Logische-Funktionen) |
Logische Funktionen - Y-P - 08.05.2008 17:14 Hallo, kann mir jemand erklären, was die beiden Funktionen Rotate und Logical Shift genau machen? Ich habe mir interessehalber mal ein Bsp. zusammengeklickt (vgl. Bsp.) und aus dem werde ich genauso wenig schlau wie aus der LabVIEW-Hilfe. EDIT (am 11.07.2008 von Y-P): Diese Version ist noch mit Fehlern (x- und y-Eingänge vertauscht), die richtige Version kommt weiter unten!!!!!!!!!!!!!!!!!!!!!!!!!!!! [attachment=12446] ![]() Gruß Markus Logische Funktionen - eg - 08.05.2008 17:34 Rotate schiebt z.B. letzten Bit in einem Byte auf die erste Stelle oder umgekehrt Bit vom Platz1 auf Platz8. Logische Funktionen - Y-P - 08.05.2008 17:41 Wenn ich bei meinem Wert 1 einstelle und dann mein Array-Control durchklicke, dann passt es anfangs auch noch. Bool-Array auf 0 (binär) => Ausgang auf 1 Bool-Array auf 1 => Ausgang auf 2 Bool-Array auf 2 => Ausgang auf 4 ....jetzt kommts: Bool-Array auf 3 => Ausgang auf 8 (erwartet hätte ich 6)????? Bool-Array auf 4 => Ausgang auf 16 (erwartet hätte ich 8) ????? ..... Ich steig' da nicht durch. Gruß Markus ' schrieb:Rotate schiebt z.B. letzten Bit in einem Byte auf die erste Stelle oder umgekehrt Bit vom Platz1 auf Platz8. Logische Funktionen - dc6xs - 08.05.2008 17:54 2^0=1 2^1=2 2^2=4 2^3=8 2^4=16 uswusf.. Gruß, Rob Logische Funktionen - Y-P - 08.05.2008 19:59 Und wenn ich bei Wert z.B. "3" eingebe und im Array 4 einstelle, wie komme ich dann auf mein Ergebnis? Irgendwie blicke ich den Zusammenhang zwischen meinem Eingangsarray und dem Wert nicht? Und was ist eigentlich der Unterschied zwischen den beiden Funktionen, außer dass "Rotate" irgendwann mal begrenzt wird? Gruß Markus ' schrieb:2^0=1 Logische Funktionen - dc6xs - 08.05.2008 20:10 ' schrieb:Und wenn ich bei Wert z.B. "3" eingebe und im Array 4 einstelle, wie komme ich dann auf mein Ergebnis? Irgendwie blicke ich den Zusammenhang zwischen meinem Eingangsarray und dem Wert nicht? 10101010 rotiert = 01010101 00110011 left-shifted(1) = 01100110 4= 00000100 leftshifted(3) = 00100000 = 32= 4* 2*2*2 Hoffe das stimmt jetzt so ohne LV angeworfen zu haben.. Für sowas ist es manchmal ganz nützlich etwas Programmiererfahrung in ASM zu haben. Gruß, Rob Logische Funktionen - Y-P - 08.05.2008 20:21 Mist, ich hatte die Eingänge verdreht angeschlossen. ![]() Da kann ich mich ja lange wundern, wieso da nur sch.... rauskommt. Ich habe auch das erwartet, was Du geschrieben hast. Danke Dir. Hier ist die funktionierende Version. [attachment=12454] ![]() Gruß Markus ' schrieb:10101010 rotiert = 01010101 Logische Funktionen - rolfk - 13.05.2008 10:36 ' schrieb:10101010 rotiert = 01010101 ASM ist hilfreich aber nicht nötig. Kenntnis von Boolscher Algebra ist aber sicher sinnvoll und hilfreich wenn man sich auf Bitschiebereien und andere Bitoperationen zulegen will. Rolf Kalbermatter |