fork(1) download
  1. #include <stdio.h>
  2. #include <limits.h>
  3.  
  4. #define COUNT 7
  5.  
  6. int main()
  7. {
  8. int testee[COUNT]={0,1,-1,-10,10,INT_MIN+1,INT_MAX};
  9.  
  10. printf("Number of bits per byte: %d\n",CHAR_BIT);
  11. static int const SHIFT_DIGIT = sizeof(int) * CHAR_BIT - 1;
  12. printf("Number of bits to shift: %d\n",SHIFT_DIGIT);
  13.  
  14. for(int i=0;i<COUNT;i++){
  15. int x = testee[i];
  16. printf("Test Case #%d\n",i);
  17. printf("Original Number: %d\n",x);
  18. int y = ((x >> SHIFT_DIGIT)|1)*x;
  19. printf("Absolute Value: %d\n",y);
  20. }
  21. printf("Test Completed.\n");
  22.  
  23. return 0;
  24. }
Success #stdin #stdout 0s 4364KB
stdin
Standard input is empty
stdout
Number of bits per byte: 8
Number of bits to shift: 31
Test Case #0
Original Number: 0
Absolute Value: 0
Test Case #1
Original Number: 1
Absolute Value: 1
Test Case #2
Original Number: -1
Absolute Value: 1
Test Case #3
Original Number: -10
Absolute Value: 10
Test Case #4
Original Number: 10
Absolute Value: 10
Test Case #5
Original Number: -2147483647
Absolute Value: 2147483647
Test Case #6
Original Number: 2147483647
Absolute Value: 2147483647
Test Completed.