// 基本情况:没有更多的 bitset 需要拼接
template<typename... Args>
std::bitset<8 * sizeof...(Args)> concatenate_bitsets() {
return std::bitset<8 * sizeof...(Args)>();
}
// 递归情况:拼接当前 bitset 和剩余的 bitset
template<typename First, typename... Args>
std::bitset<8 * (1 + sizeof...(Args))> concatenate_bitsets(First first, Args... args) {
// 将第一个 bitset 转换为字符串
std::string result = first.to_string();
// 递归拼接剩余的 bitset
std::bitset<8 * sizeof...(Args)> rest = concatenate_bitsets(args...);
result += rest.to_string();
// 将拼接后的字符串转换回 bitset
return std::bitset<8 * (1 + sizeof...(Args))>(result);
}