Attualmente sto imparando per un esame C++. Una delle domande nell'esame pratica è:Perché lo spostamento di questo bit viene valutato in 51
Qual è l'output di questa dichiarazione.
cout <<(11>>1)<<1<<endl;
Come la vedo io. 11 tiene l'equivalente binario
1011.
Spostando questo numero binario con 1 bit verso destra, è:
0101
Poi spostando CHE numero uno a fianco rende
1010
Quale valuta a 10.
Tuttavia, eseguendo la stessa istruzione nel mio compilatore dice t il numero valuta a 51. Qualcuno può spiegarmelo?
Hai provato 'cout <<((11>> 1) << 1) << endl;'? –
Non è 51, è un 5 seguito da 1. – jpw
Grazie per tutte le risposte a tutti! Trovo abbastanza deludente il fatto che le persone facciano un downvote a questa domanda. Volevo solo imparare –