Jef! 发表于 2022-7-5 13:00:22

布尔9(ex nor)错误


如果两个输入相同,则输出应为1,0/0(运算符位8)+1/1(运算符位1)。所以运算符位9。
(布尔9 0 0)和(布尔9 1 1)应返回1,而(布尔9 0 1)和(布尔9 1 0)应返回0
我刚刚在Cad 2013/2014/2015和2016进行了测试,并且。。。
(布尔9 0 0)和(布尔9 1 1)返回-1,而(布尔9 0 1)和(布尔9 1 0)返回-2。(!)
 
我使用“非异或”解决了这个bug,即(-1(boole 6 0 0)),但我仍然想知道,除了上述版本(2012-/2017+)之外,其他和/或更新版本的Autocad是否有/仍然有这个bug(boole 9 bug)。我还想知道BricsCad是否有相同的bug。你使用什么cad软件,什么版本,返回什么(boole 9)?
 
谢谢,祝你周末愉快!

Lee Mac 发表于 2022-7-5 13:55:07

这不是一个bug。有符号整数存储在32位2的补码表示中,因此在执行逐位运算时,我们有以下内容:

(boole 9 0 1) =

0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0 =0
0 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 1 =1
----------------------------------------------------------------------- NOT XOR
1 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 11 1 1 1 1 1 1 0 = -2

Jef! 发表于 2022-7-5 14:27:56

哦正当int1的每个位与int2的相应位配对。我正在检查2输入逻辑门文献。我的错。
只要我只比较1和0,(-1(布尔6 0 0))当且仅当两个int输入位x相同时,我需要一个更稳健的解决方案来获得1
(布尔1 x(布尔9 int1 int2))
 
(布尔1 1(布尔9 0 0))&(布尔1 1(布尔9 1 1))返回1
(布尔1 1(布尔9 0 1))&(布尔1 1(布尔9 1 0))返回0
 
这有意义吗?(或者我应该问一下,还有什么更有意义的吗?)
页: [1]
查看完整版本: 布尔9(ex nor)错误