我正在尝试通过一个无符号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;
}