我编写了以下程序来输出等于整数的二进制值(我检查了我的系统上的int是4个字节),它是4个字节。但是输出结果并不是正确的。守则是:
#include<iostream>
#include<iomanip>
using namespace std;
void printBinary(int k){
for(int i = 0; i <= 31; i++){
if(k & ((1 << 31) >> i))
cout << "1";
else
cout << "0";
}
}
int main(){
printBinary(12);
}
我哪里搞错了?
相似问题