如何遍历一个统一的整数



我正在尝试通过一个无符号int并打印我的32位数字中每个位的0和1值。因此,例如,我试图编写类似于以下代码:

typedef unsigned int uint;
int main(){
     unit u = 0x21062910;
     int N=0; 
     for(int i=0; i < 32; i++){
           N = u[i]; 
           cout << N; 
     }

我知道我不能像这样访问单个比特,但希望这能让你了解我想要完成的任务。期望的输出类似于:0010 0001 0000 0110 0010 1001 0001 0000

将倒数第三行改为

           N = u & (1 << i); 

也就是:

typedef unsigned int uint;
int main(){
     uint u = 0x21062910;
     uint N=0; 
     for(int i=0; i < 32; i++){
           N = u & (1 << i); 
           cout << N; 
}

相关内容

  • 没有找到相关文章

最新更新