Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/130.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
C++ 什么是<<&引用;(双尖括号)是指C/C和#x2B+;枚举? 10_端口_状态的枚举{ OFPPS10_STP_LISTEN=0_C++_C - Fatal编程技术网

C++ 什么是<<&引用;(双尖括号)是指C/C和#x2B+;枚举? 10_端口_状态的枚举{ OFPPS10_STP_LISTEN=0

C++ 什么是<<&引用;(双尖括号)是指C/C和#x2B+;枚举? 10_端口_状态的枚举{ OFPPS10_STP_LISTEN=0,c++,c,C++,C,是一个左位移位运算符。这意味着它将位向左移位到指定的位数: 假设该值为: enum ofp10_port_state { OFPPS10_STP_LISTEN = 0 << 8, /* Not learning or relaying frames. */ OFPPS10_STP_LEARN = 1 << 8, /* Learning but not relaying frames. */ OFPPS10_STP_FORWARD = 2 &

是一个左位移位运算符。这意味着它将位向左移位到指定的位数:

假设该值为:

enum ofp10_port_state {

    OFPPS10_STP_LISTEN  = 0 << 8, /* Not learning or relaying frames. */
    OFPPS10_STP_LEARN   = 1 << 8, /* Learning but not relaying frames. */
    OFPPS10_STP_FORWARD = 2 << 8, /* Learning and relaying frames. */
    OFPPS10_STP_BLOCK   = 3 << 8, /* Not part of spanning tree. */
    OFPPS10_STP_MASK    = 3 << 8  /* Bit mask for OFPPS10_STP_* values. */

};

这是左位移位运算符。它应该给出提示。它是位移位运算符。与枚举无关。这必须是一个重复的……和一般引用……@ NoimSIM我同意,但是我找了几分钟,找不到C或C++的一个具体搜索。一般来说最好先尝试一个合适的搜索;即使我找不到一个“复制”,在标准的Web搜索中寻找“C C++运算符”也会产生很多有用的结果。例如,为了找出什么是“代码> +/<代码>或 %,你会在哪里看到?同一个地方——引用中的操作符部分)。
0x0F or 00001111
0x0F << 4 = 0xF0 or 11110000
signed integer (an int for example):
0x80 or 10000000
0x80 >> 7 = 11111111
0x10 or 00010000
0x10 >> 4 = 00000001
if its unsigned (a uint):
0x80 or 10000000
0x80 >> 7 = 00000001
0x10 or 00010000
0x10 >> 4 = 00000001