我试图单步执行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
答案 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;
}