> scanf("%d",&x);
> x >>=5;

えっと、32より小さな値は無視?