Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java位Nor_Java - Fatal编程技术网

Java位Nor

Java位Nor,java,Java,我必须做Boolean操作,比如 B1=00 10 11 01 00 B2=00 10 11 01 B1 NOR B2 =11 11 11 11 在Java中它是如何实现的?有人能帮忙吗 很抱歉,我忘了提到,在Java中,是否可以始终不移位地从左侧执行此按位NOR操作(B2具有较少的位)?NOR只是“not or”,所以只需执行按位or和反转 B1或B2=~(B1 | B2) 不过,你的例子对我来说毫无意义。为什么(2'b11或2'b11)=2'b11?也不只是“not or”,所

我必须做
Boolean
操作,比如

 B1=00 10 11 01 00 
 B2=00 10 11 01  
 B1 NOR B2 =11 11 11 11
在Java中它是如何实现的?有人能帮忙吗


很抱歉,我忘了提到,在Java中,是否可以始终不移位地从左侧执行此按位NOR操作(B2具有较少的位)?

NOR只是“not or”,所以只需执行按位or和反转

B1或B2=~(B1 | B2)

不过,你的例子对我来说毫无意义。为什么
(2'b11或2'b11)=2'b11?

也不只是“not or”,所以只需按位或并反转即可

B1或B2=~(B1 | B2)


不过,你的例子对我来说毫无意义。为什么
(2'b11或2'b11)=2'b11?

如果
b1
b2
是您的(int)变量,则表达式为:

~(b1 | b2)
有关详细信息,请参阅

但是,在您的示例中,变量具有不同的长度。结果与a或B都不对应

更新:如果有两个布尔值序列,大小不相等,只需要一部分(从左到右),我建议使用:

位集b1=新位集();
//用布尔语填充它:
for(int i=0;i
如果您真的想使用
int
,那么最好从右向左表示它(即第一位是
b%2
,第二位是
b/2%2
),等等。然后您只需按照开头解释的那样执行NOR,并在必要时截断结果


如果它们是从左到右表示的,我认为有必要进行移位(或者乘法/除法,本质上是一样的,但更昂贵……),除非它们用0填充(例如:
B1=0010 1101 0000
B2=0010 1101 0000
)。在这种情况下,您可以正常执行操作。

如果
b1
b2
是您的(int)变量,则表达式为:

~(b1 | b2)
有关详细信息,请参阅

但是,在您的示例中,变量的长度不同。结果与a或a都不对应

更新:如果有两个布尔值序列,大小不相等,只需要一部分(从左到右),我建议使用:

位集b1=新位集();
//用布尔语填充它:
for(int i=0;i
如果您真的想使用
int
,那么最好从右向左表示它(即第一位是
b%2
,第二位是
b/2%2
),等等。然后您只需按照开头解释的那样执行NOR,并在必要时截断结果

如果它们是从左到右表示的,我认为有必要进行移位(或者乘法/除法,本质上是一样的,但更昂贵……),除非它们用0填充(例如:
B1=0010 1101 0000
B2=0010 1101 0000
)。在这种情况下,您可以正常执行操作。

xor b1与B2,然后“not”结果:

B1 xnor B2 = ~(B1^B2)
将b1与B2异或,则结果为“非”:

B1 xnor B2 = ~(B1^B2)

按位或
|
然后按位非~。如何获得B1和B2?
字节
位[]
整数[]
字符[]
?你确定你没有要求XNOR吗?b1 XNOR b2是11,基于你的例子…@Tung,对不起,我要求XNOR。但是,主要问题不是门,位长度不相等。谢谢你的更正。@Marek Sebera,我使用INT。按位或
然后按位非
~
。如何获得b1和b2?
字节
位[]
整数[]
字符[]
?你确定你没有要求使用XNOR吗?根据你的例子,b1 XNOR b2是11…@Tung,对不起,我要求使用XNOR。但是,主要问题不是门的位长度不相等。谢谢你的更正。@Marek Sebera,我使用INT。对不起,我忘了提到,在Java中是否可以从t执行此位NOR操作他离开时总是不移位或添加位(B2的位更少)?B1和B2是如何表示的?(int、boolean[],String…)或者您可能还没有选择表示法,也需要建议?抱歉,延迟了,请更新答案。如果您需要更多信息,请更好地解释值是如何表示的(输入布尔来自何处,如何将它们存储在int中,等等)。对不起,我忘了提到,在Java中,是否可以在不移位或添加位的情况下从左侧执行此按位NOR操作(B2的位较少)?B1和B2是如何表示的?(int,boolean[],String…)或者您还没有选择表示法,还需要建议?抱歉,延迟了,请更新答案。如果您需要更多信息,请更好地解释值的表示方式(输入布尔值来自何处,如何将其存储在int中等)。谢谢,但它提供了