Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.05 KB | None | 0 0
  1. /*A partire da una variabile intera J di tipo unsigned short int, scrivere una function C per realizzare l'inversione dei bit della variabile
  2. mediante operatori bitwise*/
  3. #include<stdio.h>
  4.  
  5. unsigned short int FUNCTION_C(unsigned short int J);
  6. void visualizzazione(unsigned short int val);
  7. int main()
  8. {
  9.     unsigned short int J = 8, risultato;
  10.  
  11.     printf("\n\t\t\tVISUALIZZAZIONE DELLA VARIABILE J\n");
  12.     visualizzazione(J);
  13.  
  14.     printf("\n\t\t\tVISUALIZZAZIONE DELLA VARIABILE J INVERTITA\n");
  15.     risultato = FUNCTION_C(J);
  16.     visualizzazione(risultato);
  17.  
  18.     printf("\n");
  19.     return 0;
  20. }
  21. unsigned short int FUNCTION_C(unsigned short int J)
  22. {
  23.     unsigned short int mask, risultato = 0;
  24.    
  25.     for (char i = 16 - 1; i >= 0; i--)
  26.     {
  27.         mask = J >> (16 - 1);
  28.         J = J << 1;
  29.         risultato = J | mask;
  30.     }
  31.  
  32.     return risultato;
  33. }
  34. void visualizzazione(unsigned short int val)
  35. {
  36.     char bit[16];
  37.  
  38.     for (char i = 16 - 1; i >= 0; i--)
  39.     {
  40.         bit[i] = val & 1;
  41.         val >>= 1;
  42.     }
  43.     for (char i = 0; i < 16; i++)
  44.         (i % 4 == 0) ? printf(" %hu", bit[i]) : printf("%hu", bit[i]);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement