[C++] Przesuwanie o liczbę ujemną


(Kanaliaon) #1

Witam, czy da się operatorami binarnymi <> przesuwać o liczbe ujemną?

Np. czy poprawny jest następujący kod:

#include 


using namespace std;


int main()

{

	int a=65535;

	a>>=-1;

	return 0;

}

([alex]) #2

Można !!

Operacja przesuwania weźmie od tego -1 młodszy bajt czyli 0xFF = 255 i przesunie to a o 255 bitów;

Analogicznie jeżeli napiszesz np a=-253; tez weźmie młodszy bajt czyli 0x03 = 3 i przesunie nadal wprawo o 3 bity.