Corso di Laboratorio III – Univ. di Pisa
35
ese6.c
Esempio uso operatori bit a bit
#include <stdio.h>
void PrintBin ( int );
int main () {
  int i,j,k,l,m;
  i = 210;
  j = 1108;
  PrintBin ( i );
  printf ( "   %d\n",i );
  PrintBin ( j );
  printf ( "   %d\n",j );
  printf ( "AND\n" );
  k = i & j;
  PrintBin ( k );
  printf ( "   %d\n",k );
  printf ( "OR\n" );
  l = i | j;
  PrintBin ( l );
  printf ( "   %d\n",l );
 
printf ( "\n" );
  PrintBin ( l >> 3 );
  printf ( "   >> 3  " );
  printf ( "\n" );
  printf ( "\n" );
  PrintBin ( l << 3 );
  printf ( "   << 3  " );
  printf ( "\n" );
  printf ( "\n" );
 
  PrintBin ( ~l );
  printf ( "   ~   " );
  printf ( "\n" );
  printf ( "\n" );
 
  return 0;
}
void PrintBin ( int val ) {
  int i;
  for ( i=16; i>=0; i-- ) {
    if ( val & ( 1 << i ) ) printf ("1");
    else printf ( "0" );
  }
}