2의 보수 변환기 (8/16/32비트 2진수 및 16진수)
부호 있는 정수를 8, 16, 32비트 2의 보수 2진수와 16진수로 변환하고, 2진수를 다시 부호 있는 10진수로 디코딩하세요 — 100% 브라우저에서 실행되며 업로드되지 않습니다.
🔒 브라우저에서 변환되며 업로드되지 않습니다.
2의 보수란
2의 보수는 컴퓨터가 부호 있는 정수를 저장하는 표준 방식입니다. 양수는 일반 2진수 값과 같고, 음수는 크기의 비트를 반전한 뒤 1을 더해 저장합니다. 덕분에 0이 하나로만 표현되며, CPU는 부호 없는 수에 쓰는 것과 동일한 회로로 부호 있는 덧셈과 뺄셈을 수행할 수 있습니다. 최상위 비트는 부호 역할을 하여 0이면 0 이상, 1이면 음수를 뜻합니다.
이 변환기 사용법
8, 16, 32비트 중 비트 폭을 고른 다음, 부호 있는 10진수를 입력하면 2의 보수 2진수와 16진수를 볼 수 있고, 2진수 패턴을 입력하면 부호 있는 10진수로 디코딩됩니다. 각 입력란은 나머지 값을 즉시 갱신합니다. 선택한 폭의 유효 범위를 자동으로 검사하여, 예를 들어 8비트 값은 -128에서 127 사이여야 하며 범위를 벗어나면 명확한 메시지를 표시합니다. 16진수 출력은 부호 없는 비트 패턴이므로 -1은 8비트에서 0xFF, 32비트에서 0xFFFFFFFF로 나타납니다.
자주 묻는 질문
음수의 2의 보수는 어떻게 구하나요?
절댓값의 2진수를 구한 뒤 모든 비트를 반전하고 1을 더하면 됩니다. 이 도구는 이를 대신 처리하므로, 음수 10진수를 입력하면 선택한 비트 폭에 맞는 완성된 2의 보수 2진수와 16진수를 보여줍니다.
왜 -1이 11111111 또는 0xFF로 표시되나요?
8비트에서 -1은 모두 1로 저장됩니다. 00000001을 반전하면 11111110이고 1을 더하면 11111111이기 때문입니다. 부호 없는 패턴으로는 0xFF입니다. 폭이 넓어지면 앞쪽에 1이 더 붙어 -1은 16비트에서 0xFFFF, 32비트에서 0xFFFFFFFF가 됩니다.
16진수 값을 붙여넣어 디코딩할 수 있나요?
네. 세 입력란이 모두 편집 가능하므로 16진수 패턴을 (0x 접두어 유무와 관계없이) 입력하면 2의 보수로 해석해 부호 있는 10진수와 2진수로 디코딩됩니다. 8비트에서 0xFF는 -1, 0x80은 -128이 됩니다. 16진수 자릿수는 폭에 맞아야 합니다(8·16·32비트에 각각 2·4·8자리).
입력한 내용이 서버로 업로드되나요?
아니요. 모든 변환은 브라우저에서 JavaScript로 로컬 처리됩니다. 입력한 내용은 어디에도 전송·저장·업로드되지 않습니다.