2의 보수 계산기

이것은 2의 보수 계산기입니다. 부호 있는 정수를 비트 패턴으로 쓰거나 hex / 이진을 부호 있는 값으로 읽습니다. 8비트 −1은 0xFF, −52는 0xCC입니다. 같은 바이트 0xFF의 부호 없는 값은 255입니다.

비트를 눌러 뒤집습니다. 맨 왼쪽(금색 테두리)이 부호 비트입니다.

클릭하면 복사됩니다

패딩, 반전, +1

2의 보수 덧셈 / 뺄셈 (A, B는 부호 있는 십진)

예제 — 스와치를 클릭

같은 4비트를 부호 없음, 부호-절댓값, 1의 보수, 2의 보수로 읽는 표. 행을 누르면 넣습니다

Binary 부호 없음 부호-절댓값 1의 보수 Two's
00000000
01015555
01117777
10008−0−7−8
101010−2−5−6
111115−7−0−1

이것은 2의 보수 계산기입니다

부호 있는 정수를 2의 보수 비트 패턴으로 쓰거나 hex / 이진 패턴을 부호 있는 값으로 읽습니다. 폭은 자동, 4, 8, 12, 16, 32, 64입니다. 8비트 −1은 0xFF, −52는 0xCC, 20은 0x14입니다. 같은 비트의 부호 없는 읽기는 0xFF = 255입니다. HEX, Binary, Decimal은 번역하지 않습니다. 이것은 Hex 비트 연산 계산기가 아니고 부호 없는 Hex 계산기도 아닙니다.

사용 방법

  1. Decimal / Hex / Binary와 비트 폭을 고릅니다. 십진은 부호 있는 정수의 2의 보수를 씁니다. Hex와 Binary는 폭까지 0을 채운 뒤 부호 있는 값으로 읽습니다. 자동은 들어가는 가장 작은 폭입니다.
  2. 격자가 패턴입니다. 맨 왼쪽(금색 테두리)이 부호 비트이고 눌러 뒤집을 수 있습니다. 카드에는 hex, 부호 있는 십진, 부호 없음, 1의 보수(모든 비트 반전), 반전+1의 −X가 나옵니다.
  3. 음수 십진은 세 단계: 절댓값 패딩, 반전, +1. 8비트 −52는 0011 0100 → 1100 1011 → 1100 1100(0xCC). 양수는 반전하지 않습니다.
  4. A와 B는 같은 폭의 부호 있는 십진입니다. A+B, A−B는 2^N으로 감싸고, 수학적 합이 안 들어가면 오버플로라고 표시합니다. 예는 8비트 −1 → 0xFF입니다. −52, 20, 0xFF, 0x80(−128), 4비트 1010(−6)도 있습니다.
  5. 4비트 표는 부호 없음, 부호-절댓값, 1의 보수, 2의 보수를 비교합니다. 행을 누르면 그 패턴을 넣습니다.

주의사항

패턴은 TC = (2^N + X) mod 2^N입니다. 8비트 부호 있는 범위는 −128…127, 4비트는 −8…7입니다. 폭보다 짧은 hex/이진는 0으로 채우며 부호 확장이 아닙니다. 8비트 0x80을 부호 반전해도 0x80입니다(+128이 없음). 관련: IEEE 754, 엔디안 변환.

어디에 쓰나

  • 덤프의 부호 있는 바이트: signed char의 0xFF는 −1, unsigned char는 255.
  • 반전+1을 손으로 확인하고, A−B가 A에 B의 2의 보수를 더한 값인지 봅니다.

자주 묻는 질문

8비트 −128을 부호 반전할 수 없는 이유는?

범위가 비대칭입니다. 1000 0000을 반전하고 1을 더하면 다시 1000 0000입니다. 수학의 +128은 이 폭에 들어가지 않습니다.

0xFF는 −1인가요 255인가요?

어떻게 읽느냐에 달렸습니다. 이 페이지는 2의 보수 부호 있는 값과 같은 비트의 부호 없는 읽기를 같이 보여 줍니다.

여기 1의 보수는 무엇인가요?

현재 패턴의 모든 비트를 뒤집고 +1은 하지 않습니다. 음수를 2의 보수로 쓸 때는 절댓값을 뒤집은 뒤 +1합니다.