Ho scritto il seguente programma per emettere l'equivalente binario di un intero prendendo (ho controllato che int sul mio sistema è di 4 byte) è di 4 byte. Ma l'output non è quello giusto. Il codice è:Perché il calcolo dell'equivalente binario diventa errato?
#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);
}
Dove mi sto sbagliando?
Non hai fornito ciò che effettivamente accade e quello che ti aspettavi isntead. – dhein
+ Perché pensi che sia errato? – dhein
+ Forse facci sapere cosa pensi di sbagliare? Difficile dirti dove trovi qualcosa di sbagliato se non ci dici cosa ti confonde ... – dhein