C++ 位操作全解析
1. 引言
在 C++ 的类型系统里,位操作是一个重要且高级的话题。我们可以把整数当作位掩码,通过位操作符对整数进行位级别的操作,还可以使用位域和 bitset 类模板来处理位。下面我们就来详细探讨这些内容。
2. 整数作为位集合
在计算机编程中,把整数当作位掩码是一种常见的做法。位可以表示一组小整数,若位置 n 的位为 1,则值 n 是集合的成员;若对应位为 0,则 n 不在集合中。空集合的数值为 0,因为所有位都是 0。
以 I/O 流格式化标志为例,通常使用操纵符来设置和清除标志。比如 skipws 和 noskipws 操纵符,它们通过调用 setf 和 unsetf 成员函数来设置和清除 std::ios_base::skipws 标志。以下两个语句是等价的:
std::cin >> std::noskipws >> read >> std::skipws;
std::cin.unsetf(std::ios_base::skipws);
std::cin >> read;
std::cin.setf(std::ios_base::skipws);
超级会员免费看
订阅专栏 解锁全文
4038

被折叠的 条评论
为什么被折叠?



