FTZ 포맷 스트링 공격 문제 풀어보니까 %c int형 범위때문에 주소 반으로 쪼개서 넣던데 주소 막 뺄셈하다가 음수 나온다고 보수 연산인가 뭔가 한다고 함

만약에 0xbfff에서 0xff3e를 빼는 경우면 0x1bfff에서 빼서 구하던데 이게 왜 보수 연산임?
이해가 안됩니다