[ create a new paste ] login | about

Link: http://codepad.org/pe6mNNBj    [ raw code | output | fork ]

C, pasted on Aug 19:
#include <string.h>

int main() {
  char *a = "a", *b = "b";
  int i;

  /* base cases */
  printf("Normally:\n%d\n", strcmp(a, b) != 0);
  printf("%d\n", strcmp(b, a) != 0);
  printf("%d\n\n", strcmp(a, a) != 0);

  /* bit flip */
  printf("Bit flipped:\n%d\n", ~strcmp(a, b) != 0);
  printf("%d\n", ~strcmp(b, a) != 0);
  printf("%d\n\n", ~strcmp(a, a) != 0);

  /* gte zero */
  printf("Bit flip disambiguated:\n%d\n", strcmp(a, b) >= 0);
  printf("%d\n", strcmp(b, a) >= 0);
  printf("%d\n", strcmp(a, a) >= 0);
  
  return 0;
}


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Normally:
1
1
0

Bit flipped:
0
1
1

Bit flip disambiguated:
0
1
1


Create a new paste based on this one


Comments: