C ++中的(A&1)是什么意思?
what do you mean by (a&1) in c++?
在一些c++代码中,我看到有人使用这样的语句
while(a) { //here a is an integer variable
if(a&1) {
//some expression
}
}
现在我的问题是a&1
的含义是什么?
这里,&
是按位AND运算符。
a&1
(或者更确切地说是a & 1
)检查a
的LSB是否被设置。
它使用逐位运算检查数字是否为奇数。二进制数的最后一位是一位(或2^0位)。所有奇数都会打开这个位;这就是它们的怪异之处。因此,通过检查一个数字的最后一位是否为on(& 1
就是这样做的),实际上就是在检查它是否为奇数。由于它使用逐位运算,因此它比为此使用模2要快得多。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- "类模板示例<int>;"语句对 C++11 是什么意思?
- 线应该是什么意思
- "CID"在AT+HTTPPARA= "CID" ,1中是什么意思
- 表达式"b=(b-x)&x"是什么意思?
- 这个表达是什么意思?
- 此代码验证公式是什么意思?
- 跟踪日志中的T.11803()是什么意思?
- 这个额外的关键字在这个 c++ 类声明中是什么意思?
- * 和 ** 在 C++ 函数声明中是什么意思?
- _T("xyz")是什么意思?
- #define Dbg(fmt,..) (0) 是什么意思? 警告:表达式无效
- 这行代码到底是什么意思?
- 在命名空间名称之前加上 :: 是什么意思?
- 从字符数组的元素中减去'a'是什么意思
- "friend"关键字在C++中是什么意思?
- 减法中的"0"是什么意思?
- 字符数组前面的加号是什么意思?
- 这里的字符串函数是什么意思