fixed negative shifts >32bit
fixed negative shifts >32bit