Странно поведение на побитов оператор- >>
Здравейте, моля за малко помощ при разбирането на побитовите оператори. Използвам проста задача, в която съм настроил всички битове на 64 битово положително число на "1". Зададеното число се опитвам да го "преместя" с 64 позиции на дясно, като очаквам резултатът да е 0, но получавам същият резултат. Променях броя на позиициите на преместване произволно, но резултатът е все същият. Това е линк към простият пример, който използвам, за да си обясня работата на побитовите оператори: https://pastebin.com/H45XuS0r.
Благодаря на всички за оказаната помощ.
Здравей и благодаря за коментара. Според това, което знам за побитовите оператори за преместване (<< и >>) празните позиции се запълват с 0, докато излезеш от обхвата на ч-лото. Според мен примера, които си дал с число 001, ако го прместиш с три бита на ляво ще получиш 1000 ако имаш достатъчно празни битове от дясно, а ако нямаш достатъчно празни битове за мен е логично да получиш 000 като резултат. В обяснението за оператор << пише, че "That is, the actual shift count is 0 to 31 bits."
Не мога да разбера защо като премествам битове повече пъти от колкото е позволено защо не "изхвърля" преместените битове попаднали извън обхвата на променливата и не ги замества с нула докато всички битове станат 0, а циклично ги премества -> link.