Я написал следующую программу для вывода двоичного эквивалента целочисленного значения (я проверил, что 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);
}
Где я ошибаюсь?