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