Сложный вопрос для интервью для разработчика среднего уровня C ++

Мне задали этот вопрос на собеседовании, и я не могу понять, что здесь происходит. Вопрос в том, что будет отображаться в консоли?

#include <iostream>

int main()
{
    unsigned long long n = 0;
    ((char*)&n)[sizeof(unsigned long long)-1] = 0xFF;

    n >>= 7*8;

    std::cout << n;
}

Что здесь происходит, шаг за шагом?

40
задан Peter Mortensen 20 July 2019 в 19:46
поделиться