行人匆匆
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個
工控威望: 133 點
下載積分: 1006 分
在線時間: 7(小時)
注冊時間: 2016-11-28
最后登錄: 2021-09-10
查看行人匆匆的 主題 / 回貼
樓主  發(fā)表于: 2017-04-28 09:18
我在編程的時候,碰到一個問題,需要判斷一個16位寄存器里面m位,是否有兩個1,想了下不好怎么實現(xiàn),看看論壇朋友有沒有好方法簡單點的謝謝!
worker02
級別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 114 個
工控威望: 292 點
下載積分: 718 分
在線時間: 279(小時)
注冊時間: 2008-08-01
最后登錄: 2024-11-01
查看worker02的 主題 / 回貼
1樓  發(fā)表于: 2017-08-30 11:43
FUNCTION FC1200 : VOID
VAR_TEMP
    I,A:INT;

END_VAR
VAR_INPUT
    ByteN:INT;
END_VAR  
VAR_OUTPUT
    B:BOOL;
END_VAR;
I:=0;
A:=0;
FOR I:=0 TO 15 DO
    IF MX[ByteN,I]THEN
        A:=A+1;
   END_IF;
END_FOR;
IF a>=2 THEN
    B:=true;
else
  B:=false;
    END_IF;

END_FUNCTION
[ 此帖被worker02在2017-08-30 13:58重新編輯 ]