假设我们有逻辑图像y
,我们想要复制它。以下陈述之间的区别是什么:
x = y;
x = y==1;
答案 0 :(得分:4)
x = y
是一项任务。它将变量x
设置为变量y
中当前包含的值。
x==y
是一个逻辑运算符,询问" x
是否等于y
"?
语句x=y==1
将x
的所有部分设置为true,其中y
的对应值等于1
。
您提出的两个陈述之间的区别在于,在第一个陈述中,x=y
,x
成为y
的精确副本。然而,在第二个语句中,x
成为具有布尔值的逻辑矩阵。 1
其中y
包含1
和0
,其中y
包含1
以外的任何内容。
在您的特定情况下,y
已经是一个逻辑矩阵(因此只包含1
和0
)这两个语句因此与上述相同,然后第一个语句将更快,因为等式检查是多余的,因此增加了不必要的开销。