Decimal to binary
#include <stdio.h>
int main (int argc, char *argv[])
{
 unsigned long number_to_test = 42; 
 unsigned long mask;  
 
 
 printf("\nFirst: ");
 for (mask = 1 << 31; mask != 0; mask >>= 1) 
  printf("%d " , (number_to_test & mask));
  
 printf("\nSecond: ");
 for (mask = 1 << 31; mask != 0; mask >>= 1) 
  printf("%d", !(number_to_test & mask));
 
 printf("\nThird: "); 
 for (mask = 1 << 31; mask != 0; mask >>= 1) 
 {  
  putchar('0' + !!(number_to_test & mask));
  // printf("%d", !!(number_to_test & mask));
 }
 
 printf("\nFourth: ");
 for (mask = 1 << 31; mask != 0; mask >>= 1) 
 {
  if (number_to_test & mask)  
   putchar('1');
  else
   putchar('0');
 }
     
 printf("\nFifth: "); 
 for (mask = 1 << 31; mask != 0; mask >>= 1) 
  putchar( (number_to_test & mask) ? 'Y' : 'N' );
          
    
     
 puts("\n\nTesting boolean logic not");  
 
 printf("\n%d", ! 4);
 
 printf("\n%d", ! 7);
 
 printf("\n%d", ! 0);
 
 puts("\n\nTesting boolean logic not not");  
 
 printf("\n%d", ! ! 4);
 
 printf("\n%d", ! ! 7);
 
 printf("\n%d", ! ! 0);
 
  
 return 0;
}
Output
First: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 8 0 2 0 Second: 11111111111111111111111111010101 Third: 00000000000000000000000000101010 Fourth: 00000000000000000000000000101010 Fifth: NNNNNNNNNNNNNNNNNNNNNNNNNNYNYNYN Testing boolean logic not 0 0 1 Testing boolean logic not not 1 1 0

 
No comments:
Post a Comment