你如何单步执行unsigned int?

时间:2014-03-15 23:06:31

标签: variables integer int typedef unsigned

我试图单步执行unsigned 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

1 个答案:

答案 0 :(得分:0)

将倒数第三行更改为

           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; 
}