位运算符和逻辑运算符
Bitwise and logical operators
我刚刚发现了按位(&,|,^,~)运算符。我知道逻辑(&&,||)运算符有一段时间了,我对它们的用法有很多想法。
在网上查看后,我已经了解了它们是如何工作的,但我还没有看到任何实际的例子。
在位级别上进行操作有什么意义?
提前感谢您的时间和努力
Kenshin
编辑:对不起,我的问题似乎不够精确。我只是不想实际使用位运算符,因为我在任何C++项目中都不必使用它们,而且我也无法找到使用它的示例。
再次感谢
通常,从硬件寄存器访问状态位或从无符号整数中提取位时使用逐位算术。
在StackOverflow中搜索"c++位旋转示例"。
编辑1:示例-读取UART状态
#define CHAR_RECEIVED (0x02)
uint32_t volatile * const UART_STATUS_REGISTER = (uint32_t volatile * )0xFFFFD000;
volatile uint32_t status = *UART_STATUS_REGISTER;
while ((status & CHAR_RECEIVED) == 0)
{
status = *UART_STATUS_REGISTER;
}
相关文章:
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?
- 为什么带有逻辑和运算符以及增量运算符的 c++ 程序给出的输出与预期不同?
- Arduino IDE 错误 - 无法找到数字文字运算符"运算符""f900ff"
- 带有逻辑 OR 运算符的 if 条件的缩写?
- 使用多个逻辑 NOT 运算符评估条件时出现混淆
- 找不到数字文字运算符“运算符”“+BLA”
- 错误:找不到数字文字运算符"运算符 " " U"?
- Arduino IDE告诉我找不到字符串文字运算符“运算符”“DRIVE”
- 用户定义的比较运算符(运算符>运算符<运算符等)
- 如果两者都会给出相同的结果,我应该更喜欢加法或逻辑 OR 运算符吗?
- 逻辑比较 == 运算符重载
- 逻辑非运算符在提升::精神::QI 中不起作用
- 为什么在c++中不应重载逗号、地址、逻辑AND和逻辑OR运算符
- 如何使用逻辑 AND 运算符 (&&) c++ 调用这两个函数
- c++逻辑与运算符
- diab 5.7编译器中的逻辑与运算符返回非bool类型
- 为什么我不能使用列表迭代器逻辑比较运算符?
- 这是逻辑"and"运算符的正确用法吗?
- c++逻辑与运算符
- 带有条件的逻辑与运算符