per inciso ora il codice č

codice:
#include<stdio.h>

char rotate(char,int,int);

int main()
{
   char  lettera,x;
   int spazi,dxosx;

   printf("inserire una lettera: ");
    scanf("%c",&lettera);
   printf("\ndi quanti spazi deve ruotare: ");
    scanf("%d",&spazi);
   printf("\na destra (0) o a sinistra (1): ");
    scanf("%d",&dxosx);
   x=rotate(lettera,spazi,dxosx);
   printf("\nrisultato= '%c'",x);
}

char rotate(char lettera, int spazi, int dxosx)
{
   char mask=0,appoggio,shift,result;
         if(dxosx==0)
          {
           mask=2^spazi-1;
           appoggio=mask&lettera;
           shift=lettera>>spazi;
           result=appoggio^shift;
          }
         else
          {
            mask=(2^spazi-1)*(2^(8-spazi));
            appoggio=mask&lettera;
            shift=lettera<<spazi;
            result=appoggio^shift;
          }
   printf("\n'%d'",mask);
   return result;
}