#include <stdio.h>

int
main()
{
  char            s1[] = "10110001";
  char            s2[] = "00101110";
  char           *p1, *p2;
  int             carry;

  printf("  %s\n- %s\n----------\n", s1, s2);

  p2 = s2;
  while (*p2) {
    if (*p2 == '0')
      *p2 = '1';
    else
      *p2 = '0';
    /* *p2 = (*p2 == '0' ? '1' : '0'); */
    p2++;
  }

  for (p1 = s1; *p1; p1++);
  for (p2 = s2; *p2; p2++);

  carry = 1;
  while (s1 < p1) {
    p1--;
    p2--;
    carry += (*p1 - '0') + (*p2 - '0');
    *p2 = '0' + (carry % 2);
    carry /= 2;
  }

  printf("= %s\n", s2);

  return 0;
}