编辑代码

#include <iostream>
#include <cstdint> // 包含uint32_t等类型定义
 
int main() {
    uint32_t bitVector = 0; // 初始化32位的位向量
    int bitIndex = 5; // 假设我们操作第5位(从0开始计数)
    
    // 设置第5位为1
    bitVector |= (1 << bitIndex); 
    std::cout << "After setting bit: " << bitVector << std::endl; // 查看结果
    
    // 检查第5位是否设置
    if (bitVector & (1 << bitIndex)) {
        std::cout << "Bit " << bitIndex << " is set." << std::endl; // 应该输出设置的信息
    } else {
        std::cout << "Bit " << bitIndex << " is not set." << std::endl; // 不应该执行到这一步
    }
    
    // 清除第5位
    bitVector &= ~(1 << bitIndex); 
    std::cout << "After clearing bit: " << bitVector << std::endl; // 查看结果,应该显示为0,除了其他位可能仍为1(取决于之前的设置)
    
    return 0;
}