50分求解一个逻辑运算表达式的意思(Delphi)

functionCheckValue(Flags:Cardinal;Value:Cardinal):Boolean;beginResult:=flagsandnotVal... function CheckValue(Flags: Cardinal; Value: Cardinal): Boolean;
begin
Result := flags and not Value = 0;
end;
此CheckValue函数有何意义? Flags和Value的值有什么关系,请高人明指。
问题补充:在什么情况下,这个函数值返回True 呢?举几个不同的例子看看。
展开
 我来答
塑料做的铁钉
2008-11-04 · TA获得超过2259个赞
知道小有建树答主
回答量:989
采纳率:0%
帮助的人:1115万
展开全部
CheckValue函数功能:
若Flags值不为0,且Value的值也不为0,则返还TRUE;
也就是 两个数都大于0则返回TRUE;
否则返回FALSE

Result := flags and not Value = 0;
等价于
Result := flags and Value ;
紫衣侠隐
2008-11-04 · TA获得超过264个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:260万
展开全部
表达式意思是:先对Value按位求反,再和flags按位相与,看结果是否等于0;
解析:
================================================
flags:=1;//0001
value:=2://0010

(not value)=not 2=1101=-3;
(flags and not value)=(0001 and 1101)=0001=1 则结果为false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangsos123
2008-11-04 · TA获得超过1498个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:436万
展开全部
e
我最不懂位运算了
到TP去算一下就知道了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式