如何从c中的bitset中选择前8位?

我有一个变量,它的类型是bitset< 16>.我想得到我的变量的前8位并将其放入char变量.我知道如何将bitset转换为char,但我不知道如何选择前8位并将其转换为char.
最佳答案
如果您通过“前8位”谈论8-MSB,请考虑使用>>操作符:

#include <iostream>

int main() {
    std::bitset<16> myBits(0b0110110001111101);
    char reg = 0;

    reg = static_cast<char>(myBits.to_ulong() >> 8);
}

转载注明原文:如何从c中的bitset中选择前8位? - 代码日志