首页 > 解决方案 > Julia - 布尔元素操作数组

问题描述

我不明白以下元素明智的布尔运算结果(参见最后一部分的箭头):

A = [1,2,3,1,2]
B = [1,2,1,3,2]

julia> A.==1
5-element BitArray{1}:
  true
 false
 false
  true
 false

julia> B.==1
5-element BitArray{1}:
  true
 false
  true
 false
 false

julia> A.==1 .& B.==1
5-element BitArray{1}:
  true
 false
 false
  true        <----- I expect this to be false
 false

A.==1 .& B.==1 的第四个元素应该是假的,因为它是(真假)。有人可以解释吗?

标签: julia

解决方案


运算符优先级问题。

你有(通过遗漏):

(A .== (1 .& B) .==1)

你需要:

(A .== 1) .& (B .==1)

相关文档。请注意,&(定义为乘法)在==(定义为比较)之前。


推荐阅读