带有if语句的c++ bitset
C++ bitset with if statement
我想知道是否有办法使用特定范围的位与if语句。我使用fpga发送8位二进制数据通过usb到pc。每个事务有3个8位数据包。在每个数据包中,前四位是由外部模块生成的,我想在最后四位发送控制数据。=>Usb接口接受数据作为整数,我有bitset函数将整数转换为8位二进制。我想用最后四位来和if语句一起使用。有什么办法可以帮我吗?
thanks in advance
如果您有一个unsigned char
作为输入:
void foo(uint8_t x) {
uint8_t top4 = x >> 4; // moves top 4 bits down by 4 positions
uint8_t bottom4 = x & 0x0f; // zeros out top 4 bits, leaving bottom 4
}
这将与int
, short
等类型一起工作,但是您也需要&
掩码top
结果,以去除那里不需要的高位。
相关文章:
- 如何打印大于"无符号长长"的"std::bitset"的十进制值?
- 关于 std::bitset 构造函数的几个问题?
- 如何以滑动窗口方式从 std::bitset 读取位并将它们转换为 int?
- 在哪里可以找到 std::bitset 的数据成员?
- 对于std::bitset,是否有一个ffs()等价物
- 移动 std::bitset<N> 是否超过 N 个位置未定义的行为?
- 是否可以让 Bitset 将位打印到一行?
- 找不到使用 bitset 实例化模板函数的有效方法
- 我正在使用 std::bitset 并尝试创建两个大小为 100,000,000,000 的数组 std::bitset
- OMNeT++ cPacket as std::bitset 以应用 Reed-Solomon 编码
- 如何在<N>不发生内存泄漏的情况下同时(线程安全)填充 c++11 std::map<std::string,std::bitset*>?
- 初始化一对(bitset,int)的向量
- 将字符数组转换为 std::string 以传递到 std::bitset seg 错误
- std::bitset 哈希函数算法
- 与STD :: BITSET的工会成员的结构填充
- 从文件中读取字符串并转换为 bitset<12>
- 为什么 MSVC 在实现 std::bitset::count 时不使用 __popcnt?
- 如何在 c++ 中将二进制文件加载/读取到"vector<vector< bitset<32> >"中?
- 从 istream 读取 bitset<0> 总是失败?
- 如何在数字大于类型 size_t 的最大数量时使用 std::bitset