컴퓨터 지식 네트워크 - 컴퓨터 프로그래밍 - 보완코드란 무엇인가요?

보완코드란 무엇인가요?

1. 컴퓨터 시스템에서 값은 항상 2의 보수로 표현(저장)됩니다.

주된 이유: 보수 코드를 사용하면 부호 비트와 기타 비트를 동시에 균일하게 처리할 수 있으며 뺄셈도 덧셈으로 처리할 수 있습니다. 또한, 2의 보수 코드로 표현되는 두 개의 숫자를 더할 때, 최상위 비트(부호 비트)에 캐리가 있으면 그 캐리를 버립니다.

2. 보완코드와 원본코드의 변환과정은 거의 동일합니다.

수치의 2의 보수 표현도 두 ​​가지 상황으로 나누어집니다.

(1) 양수의 2의 보수 : 원래 코드와 동일합니다.

예를 들어 9의 보수는 00001001입니다.

(2) 음수의 보수: 부호 비트는 1이고 나머지 비트는 숫자의 절대값에 대한 원래 코드의 비트 단위 반전이며 전체 숫자가 추가됩니다. 1.

예를 들어 -7의 보수 코드는 음수이므로 부호 비트는 "1"이고 전체 숫자는 10000111이며 나머지 7비트는 절대값의 원래 코드입니다. -7의 값 7

0000111은 1111000으로 비트 반전되어 1을 더하므로 -7의 보수는 11111001입니다.

숫자의 보수가 주어지면 원래 코드를 찾는 두 가지 작업이 있습니다.

(1) 보수의 부호 비트가 "0"이면 다음을 의미합니다. 양수이므로 보수는 숫자의 원래 코드입니다.

(2) 보완 코드의 부호 비트가 "1"이면 음수임을 의미합니다. 원래 코드를 찾는 작업은 부호 비트가 1이고 나머지는 다음과 같습니다. 비트는 무효화됩니다

. 그런 다음 전체 숫자에 1을 더합니다.

예를 들어 보수 코드가 11111001이면 원래 코드는 10000111(-7)인 것으로 알려져 있습니다. 부호 비트가 "1"이므로 음수라는 의미이므로 이는 비트는 변경되지 않고 여전히 "1"입니다. 나머지 7비트 1111001은 0000110으로 반전되고 1이 추가되므로 10000111이 됩니다.

'원본코드, 역코드, 보완코드를 말하다' 문서에는 아주 중요한 개념인 '모듈'이 언급되지 않는다. 여기서 "모듈"의 개념을 간략하게 소개하겠습니다.

"모듈"은 측정 시스템의 계산 범위를 나타냅니다. 시계 등 컴퓨터는 측정 기계로도 간주될 수 있습니다. 또한 측정 범위, 즉 "모듈"이 있습니다. 예:

시계의 측정 범위는 0~11, 모듈러스=12입니다.

n 비트의 컴퓨터 측정 범위가 0~2(n)-1, 모듈러스 = 2(n)임을 의미합니다. 참고: n은 지수를 나타냅니다.

"모듈"은 본질적으로 미터에서 생성된 "오버플로우"의 양입니다. 해당 값은 미터에서 표현될 수 없습니다.

p >

나머지. 모듈러스가 있는 모든 미터는 뺄셈을 덧셈으로 변환할 수 있습니다.

예: 현재 시침이 10시를 가리키고 정확한 시간이 6시라고 가정하면 시간을 조정하는 방법에는 두 가지가 있습니다.

하나. 4시간 뒤로 시간을 설정하는 것입니다. 즉: 10-4=6

다른 하나는 8시간을 순차적으로 다이얼하는 것입니다: 10 8=12 6=6

12개 모듈을 기반으로 하는 시스템에서는 8을 더하고 4를 빼는 효과는 동일하므로 4를 빼는 모든 연산은 8을 더하는 것으로 대체될 수 있습니다.

'모듈로'의 경우 8과 4는 서로 보수입니다. 실제로 12모듈 시스템에서는 11과 1, 10과 2, 9와 3, 7과 5, 6과 6이 모두 이런 특징을 갖고 있다.

가장 독특한 특징은 두 개의 합이 모듈러스와 같다는 것입니다.

컴퓨터의 경우 개념과 방법이 완전히 동일합니다. n비트 컴퓨터의 경우, n=8이라고 가정하면 표현할 수 있는 최대 수는 11111111이다. 1을 더하면 100000000(9비트)이 된다. 단, 8비트만 있으므로 최상위 비트는 1이다. 자연스럽게 손실됩니다. 00000000이 다시 반환되므로 8비트 이진 시스템의 모듈로는 2(8)입니다. 이러한 시스템에서는 뺄셈 문제가 덧셈 문제로 바뀔 수도 있습니다. 해당 보수를 사용하여 뺄셈을 표현하면 됩니다.

컴퓨터 대수처리에 보수수를 적용한 것이 보수코드이다.

上篇: 휴대폰이 수리되지 않은 경우 어떻게 불만을 제기하나요? 下篇: 여행 중에 노트북을 가져가야 한다면 250 자.
관련 내용