“|=”在伪代码中是什么意思?
What does "|=" mean in pseudocode?
我正在尝试实现以下伪代码:
但是我看不懂那行是什么
state_val |= (c(s) == True) << i++
确实如此。为了提供一些上下文,这个伪代码可以在麻省理工学院的 this 论文中找到,c(s)
是 returns True
或 False
基于 [=14] 的操作=].
按位或。基本上 shorthand 为
state_val = state_val | ((c(s) == True) << i++)
a |= b
表示 a
将被设置为 a
和 b
的按位或。本质上,state_val
是一个数字,其位表示布尔值,其二进制表示形式如下所示:
c7(s) c6(s) c5(s) c4(s) c3(s) c2(s) c1(s) c0(s)
其中 c0
是第一个 c
,c1
是第二个,依此类推。如果 c7(s)
、c5(s)
和 c1(s)
是真的,那么 state_val
将是 10100010
二进制或 162
.
我正在尝试实现以下伪代码:
但是我看不懂那行是什么
state_val |= (c(s) == True) << i++
确实如此。为了提供一些上下文,这个伪代码可以在麻省理工学院的 this 论文中找到,c(s)
是 returns True
或 False
基于 [=14] 的操作=].
按位或。基本上 shorthand 为
state_val = state_val | ((c(s) == True) << i++)
a |= b
表示 a
将被设置为 a
和 b
的按位或。本质上,state_val
是一个数字,其位表示布尔值,其二进制表示形式如下所示:
c7(s) c6(s) c5(s) c4(s) c3(s) c2(s) c1(s) c0(s)
其中 c0
是第一个 c
,c1
是第二个,依此类推。如果 c7(s)
、c5(s)
和 c1(s)
是真的,那么 state_val
将是 10100010
二进制或 162
.