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).
ho provato un pò ad implementarlo, ma credo che non ho incentrato bene il problemacodice:#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; }![]()

Rispondi quotando