pascal if (n and 1)>0 then 什么意思?求解

如题所述

and是位运算,(n and 1)就是n的2进制下个位与1取and,and的运算是:
1 and 1=1,
1 and 0=0,
0 and 1=0,
0 and 0=0 ;
显然 (n and 1)>0就是1了,换句话说n的2进制下个位是1,就是说n是奇数是真,所以这句话的意思是判断n是否是奇数,跟if n mod 2=1 then意思一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-25
就是N非0时为真,执行then后面的内容,否则不执行
第2个回答  2012-07-25
and运算指二进制中最后一位 1:奇数;0:偶数; 即 如果为奇数就......
and 比mod快