Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.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+中执行+;在perl中它的等价运算符是什么?_C++_C_Perl - Fatal编程技术网

C++ 什么是'&';在C/C+中执行+;在perl中它的等价运算符是什么?

C++ 什么是'&';在C/C+中执行+;在perl中它的等价运算符是什么?,c++,c,perl,C++,C,Perl,我正在编写一个协议的perl实现,该协议的规范是针对C/C++的,但我对C知之甚少 如果((标志&0x400)!=0)表示什么条件?如何在perl中实现这一点 如果($flags==“\x400”)正确,则是否正确?&是按位AND。看 因此,标志被视为一系列位,然后你和它一起使用你想要检查的位集。如果结果为非零,则设置该位,否则不设置您正在查看的位。特别是,在您的示例中,0x400=0100 0000用于检查标志中的第11位是否设置为1 通常,您不会使用0x400,而是使用命名常量,因此很清楚该

我正在编写一个协议的perl实现,该协议的规范是针对C/C++的,但我对C知之甚少

如果((标志&0x400)!=0)表示什么条件?如何在perl中实现这一点


如果($flags==“\x400”)正确,则
是否正确?

&
是按位AND。看

因此,
标志
被视为一系列位,然后你和它一起使用你想要检查的位集。如果结果为非零,则设置该位,否则不设置您正在查看的位。特别是,在您的示例中,
0x400=0100 0000
用于检查
标志中的第11位是否设置为1

通常,您不会使用
0x400
,而是使用命名常量,因此很清楚该位代表什么

因此,
如果($flags==“\x400”)
不正确。看


位掩蔽的一个常见示例可以在中看到。

它是Perl中的,

&
是按位and运算符,基本上这是一个测试,以查看是否在
标志中设置了特定位。请参见此处的perl等价物:

这是C\C++和perl中的按位AND运算符


运算符执行按位AND运算。在您的情况下,
if((flags&0x400)!=0)
检查
flags
变量的第十一位是否未设置为0

你应该链接到perlop。我在这里看到一些人抱怨docstore.mik.ua的链接是盗版的。@musiKk不知道这一点。将Perl相关链接更改为perlop.Great.:)现在只有另外两个答案。。。这太乏味了。我想知道为什么O'Reilly什么都不做。。。