11.04.2015, 09:42
Hallo,
ich habe entdeckt, dass man C++ Code recyclen kann, indem man ihn einfach in einen LabView-Formelknoten einfügen kann. Das funktioniert soweit ganz gut. Was aber nicht klappt ist der Verschiebeoperator ( http://de.wikipedia.org/wiki/Bitweiser_Operator )
[attachment=52788]
In C tut dies folgendes: halbiere die Zahl nSubsidy, immer wenn nHeight ein Vielfaches von 525600 ist. Die Ausgabe sollte 40 sein.
In LabView wird aber schon halbiert ab 525600/2= 262800, also ist die Ausgabe hier 20.
irgendwie wird also aus der Zahl "0,5" rechts des Operators eine "1"
wie macht man es richtig mit möglichst wenig Code-Veränderung? Typkonvertierung im Formelknoten? Runden im Formelknoten?
umständliche Lösung wäre das hier:
ich habe entdeckt, dass man C++ Code recyclen kann, indem man ihn einfach in einen LabView-Formelknoten einfügen kann. Das funktioniert soweit ganz gut. Was aber nicht klappt ist der Verschiebeoperator ( http://de.wikipedia.org/wiki/Bitweiser_Operator )
[attachment=52788]
In C tut dies folgendes: halbiere die Zahl nSubsidy, immer wenn nHeight ein Vielfaches von 525600 ist. Die Ausgabe sollte 40 sein.
In LabView wird aber schon halbiert ab 525600/2= 262800, also ist die Ausgabe hier 20.
irgendwie wird also aus der Zahl "0,5" rechts des Operators eine "1"
wie macht man es richtig mit möglichst wenig Code-Veränderung? Typkonvertierung im Formelknoten? Runden im Formelknoten?
umständliche Lösung wäre das hier:
Code:
int32 i;
for(i = 525600; i <= nHeight; i += 525600) nSubsidy -= nSubsidy/2;