perl seems to use a 32bit integer on your machine (i have a 64bit SPARC and perl uses 32bit too, is this standat or would i just have to conifgure my gcc in a proper way?). now perl bitshift is not shifting to nirvana but looping, so the binary one is shifting to the left (or right, depends on how you look at binarys) reaches the end and then starts from the beginning (lowest value bit).