在C++ primer 上学习了位操作符,知道C++有两种方式支持位向量,一是用内置整值类型来表示位向量,最典型是用unsigned int,另一种是提供了bitset类,支持位向量的类抽象.对于第一种方式,如果定义一个unsigned int a=3, b=5;是不是把3和5都换成2进制后再进行位操作?比如按位或,按位与什么的.
不好意思又加一个问题:例如给定一个inline 函数 inline bool bit_on(unsigned int ui, int pos), { return ui&(1<<pos); } 用来测试某一位是否为0,为什么ui&(1<<pos)这个操作后返回的是布尔型的值啊?就是用ui 这个整值类型与1向左移动pos后的向量按位与后应该也是一个向量啊??