int temp = 0x5E; // in binary 0b1011110.
有没有这样一种方法可以检查 temp 中的第 3 位是 1 还是 0 而无需移位和屏蔽。
只是想知道是否有一些内置功能,或者我是否被迫自己写一个。
原文由 Milan 发布,翻译遵循 CC BY-SA 4.0 许可协议
int temp = 0x5E; // in binary 0b1011110.
有没有这样一种方法可以检查 temp 中的第 3 位是 1 还是 0 而无需移位和屏蔽。
只是想知道是否有一些内置功能,或者我是否被迫自己写一个。
原文由 Milan 发布,翻译遵循 CC BY-SA 4.0 许可协议
快速和最佳的宏
#define get_bit_status() ( YOUR_VAR & ( 1 << BITX ) )
.
.
if (get_rx_pin_status() == ( 1 << BITX ))
{
do();
}
原文由 mahdi hosseini 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
在C语言中,如果你想隐藏位操作,你可以写一个宏:
并以这种方式使用它来检查右端的第 n位:
在 C++ 中,您可以使用 std::bitset 。