fork(1) download
  1. #include <stdio.h>
  2.  
  3. #define maxdigits 65
  4. char buffer[maxdigits];
  5.  
  6. /* fill in from rhd */
  7. void PrintBinary(int value) {
  8. char tempbuffer[maxdigits];
  9. char c;
  10. int index=maxdigits-2;
  11. tempbuffer[maxdigits-1]='\0';
  12. while (value >0) {
  13. tempbuffer[index--]= value & 1?'1':'0';
  14. value = value >> 1;
  15. }
  16. tempbuffer[index]='%';
  17. printf("%sb\n\r",&tempbuffer[index]);
  18. }
  19.  
  20.  
  21. int main(int argc, char* argv[])
  22. {
  23. int a =0x45;
  24. int b= 0x67;
  25. int c;
  26. printf("This is a & b\n") ;
  27. printf(" a ") ;PrintBinary(a) ;
  28. printf(" b ") ;PrintBinary(b) ;
  29. c= a & b;
  30. printf(" ---------\n") ;
  31. printf("a&b ") ;PrintBinary(c) ;
  32. printf("\nThis is a | b\n") ;
  33. printf(" a ") ;PrintBinary(a) ;
  34. printf(" b ") ;PrintBinary(b) ;
  35. c= a | b;
  36. printf(" ---------\n") ;
  37. printf("a|b ") ;PrintBinary(c) ;
  38. printf("\nThis is a ^ b\n") ;
  39. printf(" a ") ;PrintBinary(a) ;
  40. printf(" b ") ;PrintBinary(b) ;
  41. c= a ^ b;
  42. printf(" ---------\n") ;
  43. printf("a^b ") ;PrintBinary(c) ;
  44. return 0;
  45. }
  46.  
  47.  
  48.  
  49.  
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
This is a & b
 a  %1000101b

 b  %1100111b

 ---------
a&b %1000101b

This is a | b
 a  %1000101b

 b  %1100111b

 ---------
a|b %1100111b

This is a ^ b
 a  %1000101b

 b  %1100111b

 ---------
a^b %100010b