fork(3) download
  1. #include <iostream>
  2. #include <bitset>
  3. #include <stdio.h>
  4. using namespace std;
  5.  
  6. void printIntBits(int num);
  7. void printExpression(char *text, int value);
  8.  
  9. int main() {
  10. int number = 92;
  11.  
  12. printExpression("number", number);
  13. printExpression("~number", ~number);
  14. printExpression("(~number) + 1", (~number) + 1);
  15. printExpression("-number", -number);
  16. printExpression("(number) & (-number)", (number) & (-number));
  17.  
  18. return 0;
  19. }
  20.  
  21. void printExpression(char *text, int value) {
  22. printf("%-20s", text);
  23. printIntBits(value);
  24. printf("\n");
  25. }
  26.  
  27. void printIntBits(int num) {
  28. for(int i = 0; i < 8; i++) {
  29. int mask = (0xF0000000 >> (i * 4));
  30. int portion = (num & mask) >> ((7 - i) * 4);
  31. cout << " " << std::bitset<4>(portion);
  32. }
  33. }
  34.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
number               0000 0000 0000 0000 0000 0000 0101 1100
~number              1111 1111 1111 1111 1111 1111 1010 0011
(~number) + 1        1111 1111 1111 1111 1111 1111 1010 0100
-number              1111 1111 1111 1111 1111 1111 1010 0100
(number) & (-number) 0000 0000 0000 0000 0000 0000 0000 0100