IMP(包含)这个逻辑运算符麻烦前辈们帮忙解释一下

kidc 2005-10-29 09:00:28
a b a imp b
假 假 真
假 真 真
真 假 假
真 真 真
...全文
669 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
脆皮大雪糕 2005-10-30
  • 打赏
  • 举报
回复
呵呵,1分我也要!
这个页面的上面有一个“管理”链接
kidc 2005-10-29
  • 打赏
  • 举报
回复
怎么结帖?
kidc 2005-10-29
  • 打赏
  • 举报
回复
谢谢 chewinggum
脆皮大雪糕 2005-10-29
  • 打赏
  • 举报
回复
如果是对数值进行imp运算,将对数值的每一位进行逐位比较
比如 debug.pring 8 imp 3
首先将两个数换算成二进制数,然后逐位比较
00001000
imp 00000011
--------------
11110111
这个二进制数转换成为十进制的时候因为最高位的符号位为1,所以要做补码,最后得到的结果是-9
脆皮大雪糕 2005-10-29
  • 打赏
  • 举报
回复
什么意思?不明白imp的运算规则还是说想要自己实现imp?
VB已经提供了Imp 运算符


Imp 运算符


用来对两个表达式进行逻辑蕴涵运算。

语法

result = expression1 Imp expression2

Imp 运算符的语法具有以下几个部分:

部分 描述
result 必需的;任何数值变量。
expression1 必需的;任何表达式。
expression2 必需的;任何表达式。


说明

下列表格说明如何确定 result:

如果 expression1 为 且 expression2 为 则 result 为
True True True
True False False
True Null Null
False True True
False False True
False Null True
Null True True
Null False Null
Null Null Null


Imp 运算符对两个数值表达式中位置相同的位进行逐位比较,并根据下表对 result 中相应的位进行设置:

如果在 expression1 的位为 且在 expression2 中的位为 result 为
0 0 1
0 1 1
1 0 0
1 1 1

lsftest 2005-10-29
  • 打赏
  • 举报
回复
if a=true and b=false then
ret=false
else
ret=true
endif

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧