#include <iostream>
using namespace std;
int main(void)
{
short poo = 1;
// 1000 0000 0000 0000 lil'endian
// 0000 0000 0000 0001 big endian
cout << poo << endl;
poo >> 4;
cout << poo << endl;
poo << 4;
cout << poo << endl;
}
Jest taki kod, chciałem zobaczyć czy kierunek operatora przesunięcia bitowego dotyczy normalnego matematycznego zapisu wartości (big endian), co dałoby poo=16 czy zapisu tak jak w rzeczywistości bity są ułożone w pamięci (lil'endian), co dałoby 0.
Ale wynik jest taki, że nie przesuwa w ogóle i zostaje poo=1. Ktoś mi powie dlaczego? Kompilator rzuca mi warning, że przesunięcie nic nie robi bo jest -Wunused-value, ale nie mam pojęcia co to znaczy w tym kontekście.