Advertisement
piffy

SettaBit

Feb 6th, 2013
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.15 KB | None | 0 0
  1. unsigned int isBitSet(unsigned int bit_pattern, unsigned int bit_position)
  2. {
  3.  
  4. /** Crea una maschera di bit nella posizione indicata **/
  5. unsigned int bit_mask = 1<<bit_position;
  6.      
  7. /** controlla se il bit indicato è settato e in questo caso restituisci un
  8. valore diverso da zero, altrimenti restituisci zero **/
  9. return bit_pattern & bit_mask;
  10. }
  11.  
  12. /************ GLI ERRORI (TANTISSIMI) SONO PRESENTI SOLO NEL MAIN! *********/
  13.  
  14. int main()
  15.  {
  16.     unsigned int bit_pattern, bit_position;
  17.      
  18.    /** Chiedi all'utente una configurazione di bit e la posizione da controllare **/
  19. print ("Bit bit settati!");
  20. print("Dammi un numero esadecimale (esempio:, 0xFEED1DAD): ");
  21. scanf("%d", bit_pattern);  
  22. print("Dammi una posizione del bit (da 0 a 31, 0 indica il bit piu' a destra): ");
  23. scanf("%d", bit_position);
  24. /** Chiama la funzione  **/
  25. bit_set = isBitSet(bit_pattern, bit_position)
  26.      
  27.     if ( !bit_set ) {
  28.         print("In 0x%X, la posizione %d e' settata\n",  
  29.         bit_pattern, bit_position);
  30.      } else {
  31.          print("In 0x%X, la posizione %d NON e' settata\n",  
  32.          bit_pattern, bit_position);
  33.      }
  34.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement