这是什么意思?
#define WS_RECURSIVE (1 << 0)
我知道它将定义 WS_Recursive (1 << 0)
但是<<
是什么意思?什么意思?
谢谢!
最佳答案
<<
是left shift operator .它正在转移号码 1
向左0
位,相当于数字 1
.
它通常用于创建标志,可以与|
组合在一起的数字。 (bit or) 并且可以对它们应用各种操作,例如测试标志是否设置、设置标志、移除标志等。
之所以可以将它们组合在一起而不互相干扰是因为每个都是二的幂,这就是使用1 << x
的原因。 ,因为这会产生 2 的幂:
1 << 0 == 20 == 1 == 二进制 0001
1 << 1 == 21 == 2 == 二进制 0010
1 << 2 == 22 == 4 == 二进制 0100
1 << 3 == 23 == 8 == 二进制 1000
等等
您可以在此处阅读有关位标志的信息:http://www.codeproject.com/KB/tips/Binary_Guide.aspx
关于c - '<<' 在 C 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8438349/