fork(1) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(void) {
  5. const int arr[7] = {0x80000000u, -2, -1, 0, 1, 2, 0x7fffffffu};
  6. unsigned int i, j, signVal, uiSiz;
  7.  
  8. uiSiz = sizeof(unsigned int);
  9.  
  10. for (i = 0, j = 7; i < 7; i++) {
  11. signVal = ((unsigned int) arr[i] & (0x1u << ((8 * uiSiz) - 1))) >> ((8 * uiSiz) - 1);
  12. fprintf(stdout, "arr[%u]: %i, uiSiz: %u, signVal: %u;\n", i, arr[i], uiSiz, signVal);
  13. }
  14.  
  15. return 0;
  16. }
  17.  
Success #stdin #stdout 0s 4500KB
stdin
Standard input is empty
stdout
arr[0]: -2147483648, uiSiz: 4, signVal: 1;
arr[1]: -2, uiSiz: 4, signVal: 1;
arr[2]: -1, uiSiz: 4, signVal: 1;
arr[3]: 0, uiSiz: 4, signVal: 0;
arr[4]: 1, uiSiz: 4, signVal: 0;
arr[5]: 2, uiSiz: 4, signVal: 0;
arr[6]: 2147483647, uiSiz: 4, signVal: 0;