salve ...
vorrei far ruotare di n_bit, verso sinistra o verso destra (rispettivamente di n_bit<0 e n_bit>0),
il contenuto di una variabile char (mediante operatori bitwise).

codice:
#include <stdio.h>
#include <stdlib.h>
char rotate(char ch,int n_bit);
int main()
{char ch,f;
int n_bit;
 printf("quanti bit vuoi shiftare?:");
 scanf("%d",&n_bit);
 printf("inserisci il carattere ke vuoi far shiftare:");
 fflush(stdin);
 scanf("%c",&ch);
 f=rotate(ch,n_bit);
 printf("\nil risultato della rotazione: %c\n",f);
  system("PAUSE");	
  return 0;
}
char rotate(char ch,int n_bit)
{char w;
printf("digita 's' se vuoi shiftare a sinistra altrimenti 'd' a destra:\n");
fflush(stdin);
scanf("%c",&w);
if(w=='s')
     return ch=w<<n_bit;
     else if(w=='d')
     return ch=w>>n_bit;
     }
ho provato un pò ad implementarlo, ma credo che non ho incentrato bene il problema