2의 보수 변환기
N비트 폭에서 정수를 2의 보수 이진 표현으로 바꿔 줍니다. 표현 범위가 좌우로 비대칭인 이유까지 보여줍니다.
8비트로 표현 가능한 범위는 -128 ~ 127입니다. 양수 쪽보다 음수 쪽이 하나 더 넓습니다.
2의 보수 이진 표현
11111011
5의 이진수00000101
비트반전(1의 보수)11111010
+1 → 2의 보수11111011
사용 방법
- 1변환할 정수를 입력합니다.
- 2비트 폭(4/8/16/32비트)을 고릅니다.
- 32의 보수 이진 표현과 표현 범위를 확인합니다.
자주 묻는 질문
양수의 이진수를 비트반전(0과 1을 서로 바꿈, 1의 보수)한 뒤 1을 더합니다. 예를 들어 8비트에서 5는 00000101인데, 비트반전하면 11111010이 되고 여기에 1을 더한 11111011이 -5를 나타냅니다.
부호 비트를 포함한 8비트로 나타낼 수 있는 값은 정확히 256가지인데, 0을 한 번만 쓰다 보니 음수 쪽에 하나가 남아 -128을 추가로 표현합니다. 그래서 +128은 표현할 수 없는데 -128은 표현할 수 있는, 좌우 비대칭 범위가 나옵니다.
0을 비트반전하면 모든 비트가 1이 되고(1의 보수로 -0을 나타냄), 여기에 1을 더하면 자리올림이 끝까지 전파되어 다시 모든 비트가 1인 값이 됩니다. 부호 없는 정수로 보면 이 값이 "가능한 가장 큰 값"인데, 부호 있는 정수로는 -1이 되는 것이 2의 보수 방식의 특징입니다.
8비트에서 최솟값 -128의 절댓값은 128인데, 8비트로 표현 가능한 양수는 127까지입니다. 그래서 -128을 "양수로 바꿨다가 다시 음수로" 되짚으려 하면 중간 단계인 +128 자체를 표현할 수 없어 막힙니다. 실제 프로그램에서 정수 오버플로가 가장 흔히 터지는 지점 중 하나입니다.
알아두면 좋은 점
- 이 계산기가 다루는 정수 범위는 자바스크립트가 안전하게 다루는 정수(2^53-1)까지입니다.
- 표현 범위를 벗어난 값을 넣으면 오버플로로 보고 계산하지 않습니다.
함께 보면 좋은 도구
마지막 검증: 2026년 9월 2일 · 결과는 참고용 추정치입니다.