cnCalc计算器论坛

 找回密码
 注册
搜索
查看: 3016|回复: 5

逻辑代数与或非运算的精简

[复制链接]
发表于 2010-4-2 18:16:11 | 显示全部楼层 |阅读模式
not原来用的是
2^condition -1
(http://www.cncalc.org/viewthread.php?tid=1625&page=1&fromuid=28#pid41868)
现在改成新的:
not(condition) = -condition + 1
================================================
and原来ispositive(condition1*condition2)
现在去掉最外边的ispositive,直接condition1*condition2
================================================
复杂的与或只在最外层加上ispositive就行了
================================================
大家都在研究条件很简单(如:x>y)的if,和中断,但是对于条件复杂的if和中断(例如if(a < b && c >= d || !x<y))不知为何都没有人研究.
发表于 2010-4-2 18:55:33 | 显示全部楼层
楼主忘写or的了-.-
发表于 2010-4-2 18:56:32 | 显示全部楼层
嗯,现在已经有>=、>、=,这样组合一下就能把条件几乎全部搞定了
 楼主| 发表于 2010-4-3 08:45:55 | 显示全部楼层
楼主忘写or的了-.-
hcz 发表于 2010-4-2 18:55

or还没想好怎么精简
 楼主| 发表于 2010-4-4 18:09:56 | 显示全部楼层
or的精简:
如果要进行or运算的condition较多可用intz((condition1+condition2+condition3+……)/99)
以节约代码空间
当较少的时候sgn(condition1+condition2+……)就行了
发表于 2010-7-4 18:19:00 | 显示全部楼层
我认为A or B可用1-(1-A)(1-B),这最简了,用手机,部分字符打不出、、、
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cnCalc计算器论坛

GMT+8, 2024-11-24 17:12 , Processed in 0.060287 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表