高级编程第6题:(已验证可满足题目要求)
#Num_input := 0;
#aa:= B_input;
FOR "mw10" := 0 TO 7 DO
IF #aa.%X0 THEN
#Num_input := #Num_input +1 ;
END_IF ;
#aa := SHR(IN := #aa , N := 1);
END_FOR;
老师您好,我现在对程序的执行过程比较困惑,假设255这个数,二进制是2#11111111,MW10为0时,#aa.%X0检测第1位为1,#Num_input加1,#aa右移之后#aa.%X0是变成了#aa.%X7吗?它是怎么移位的?另外使用SHL验证出的结果却是1,总共8位,向左向右不都是一样检测吗?怎么就错了呢?