>  기사  >  컴퓨터 기계의 수를 표현하는 세 가지 방법은 무엇입니까?

컴퓨터 기계의 수를 표현하는 세 가지 방법은 무엇입니까?

藏色散人
藏色散人원래의
2020-12-07 11:22:1228968검색

컴퓨터 기계번호의 3가지 표현방법은 원본코드, 보완코드, 보완코드입니다. 숫자의 실제 값 형태에서 "+" 기호가 "0"으로 표시되고 "-" 기호가 "1"로 표시되는 경우 이를 숫자의 원래 코드 형식이라고 합니다. 원래 코드 연산의 단점을 극복하기 위해 양수에 대해서는 기계번호의 보수 및 보수 표현을 사용하고, 보수 코드는 원래 코드와 동일한 형태를 가지며, 음수에 대해서는 보수 코드를 숫자 부분으로 한다. 원래 코드의 반대입니다. 보완 코드는 합동(Congruence)의 개념을 바탕으로 도입되었으며, 컴퓨터 시스템에서는 항상 보완 코드에 값이 표현되고 저장됩니다.

컴퓨터 기계의 수를 표현하는 세 가지 방법은 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.

컴퓨터 기계번호의 3가지 표현방법은 원본코드, 역코드, 보수코드입니다.

기계 숫자 소개

기계 숫자는 기호를 "디지털화"하는 숫자이며 컴퓨터에서 숫자를 이진수로 표현한 것입니다. 기계번호에는 두 가지 특징이 있습니다. 하나는 기호의 디지털화이고, 다른 하나는 숫자의 크기가 기계어 길이에 따라 제한된다는 것입니다.

기계 번호에는 두 가지 기본 특성이 있습니다.

1. 숫자의 상징적 디지털화. 실제 데이터에는 양수와 음수가 포함됩니다. 컴퓨터 내부의 하드웨어는 두 가지 물리적 상태(0과 1로 표시)만 나타낼 수 있으므로 실제 데이터에는 양수 기호 "+" 또는 음수 기호 "-"가 사용됩니다. 구별할 이진수 0 또는 1입니다. 일반적으로 이 기호는 부호 비트라고 하는 이진수의 최상위 비트에 배치됩니다. 0은 기호 "+"를 나타내고 1은 "-" 기호를 나타냅니다. 부호가 1비트를 차지하기 때문에 숫자의 형식적 값은 실제 값과 동일하지 않습니다. 부호 비트가 있는 기계 번호에 해당하는 값을 기계 번호의 참값이라고 합니다. 예를 들어 이진수 -011011의 기계 번호는 1011011입니다.

2. 이진수 개수는 기계 장비에 따라 제한됩니다. 기계의 내부 장비가 동시에 표현할 수 있는 이진수 수를 기계의 워드 길이라고 합니다. 기계의 워드 길이는 고정되어 있습니다. 8비트의 단어 길이를 바이트라고 합니다. 기계어 길이는 일반적으로 8비트, 16비트, 32비트, 64비트의 단어 길이와 같이 바이트의 정수배입니다.

기계번호의 형태

1. 원본코드

숫자의 참값 형태에서 "+"기호를 "0"으로 표현하고 "-"기호를 "1"로 표현하면, 이를 숫자의 원래 코드 형태라고 하며, 원래 코드라고 합니다. 단어 길이가 n 비트인 경우 원래 코드는 일반적으로 다음과 같이 표현될 수 있습니다.

X가 양수인 경우 [X]는 X와 동일합니다. 즉, [X]는 X입니다. X가 음수일 때. X 자체는 음수이므로 실제로는 |의 숫자 부분의 절대값 앞에 부호 비트를 붙입니다.

원래 코드 표현은 상대적으로 직관적입니다. 숫자 부분은 숫자의 절대값이며 실제 값과 소수로의 변환이 매우 편리합니다. 그러나 덧셈과 뺄셈 연산은 더 복잡합니다. 두 숫자를 더할 때 기계는 두 숫자의 부호가 동일한지 먼저 확인해야 합니다. 두 숫자가 같으면 두 숫자를 더합니다. 뺄셈을 하기 전에 두 숫자의 절대값을 판단한 다음 큰 숫자에서 소수를 빼고 마지막으로 차이의 부호를 결정해야 합니다. 즉, 이러한 직접적인 형태로 더할 때 부호 비트를 결정해야 합니다. 음수는 차이의 부호와 동일할 수 없습니다. 숫자 부분은 함께 연산에 참여하지만 합계의 부호 비트를 결정하려면 별도의 라인을 사용해야 합니다. 이러한 동작을 실현하기 위해서는 회로가 매우 복잡하여 경제적이지도 실용적이지도 않습니다. 장비를 줄이고 기계 내 연산에 참여하는 음수의 부호 비트 문제를 해결하기 위해 뺄셈 연산을 항상 덧셈 연산으로 변경하고 1의 보수와 1의 보수라는 두 개의 기계 번호를 도입합니다.

2. 역코드

앞서 언급한 것처럼 원래 코드 연산의 단점을 극복하기 위해 역코드와 기계번호의 보수 표현을 사용합니다. 즉, 양수의 경우 보수 코드는 원래 코드와 동일한 형식을 가지며, 음수의 경우 보수 코드는 원래 코드의 숫자 부분을 반전한 것입니다.

3. 보완 코드

합동의 개념을 바탕으로 덧셈을 구현한 예를 살펴보겠습니다. 현재 시간은 베이징 시간 6시라고 가정하지만, 베이징 시간보다 2시간 빠른 8시 시계가 있습니다. 두 가지 교정 방법이 있습니다. 하나는 2시간 뒤로 설정하는 것입니다. 다른 하나는 10시간 앞으로 설정하는 것입니다. 역 다이얼은 뺄셈이고 앞 다이얼은 덧셈이라고 규정하면 2를 빼고 10을 더하는 것은 시계와 동일합니다. 즉 10을 더하면 2를 빼는 것이 가능합니다. 8 더하기 10은 18이기 때문입니다. 그러나 시계는 최대 12만 표시할 수 있습니다. 12보다 크면 18에서 12를 빼면 6만 남게 됩니다. 이는 특정 조건에서 뺄셈이 덧셈으로 대체될 수 있음을 보여줍니다. 여기서 "12"는 "모듈로"라고 하고, 10은 "-2" 모듈로 12의 보수라고 합니다. 일반화로 일반화:

A – B = A + ( – B + M ) = A + ( – B ) 보수

모듈러스 M 조건에서 A 빼기 B에 A -B를 추가할 수 있음을 알 수 있습니다. 달성하기 위해 보완합니다. 여기서 모듈은 카운터의 용량으로 간주할 수 있습니다. 위의 시계 예에서는 모듈이 12입니다. 컴퓨터에서 그 구성 요소는 고정된 자릿수를 갖습니다. 자릿수가 n이면 카운트 값, 즉 카운터 용량이 됩니다. 따라서 컴퓨터의 보수 코드는 모듈로 " "이며 그 정의는 다음과 같습니다.

간단히 말하면, 양수의 경우 보수는 원래 코드와 동일한 형태를 가지며 방정식 (3)과 (4)에서 음수의 경우 보수임을 알 수 있습니다. 보수의 마지막 숫자에 1을 더한 것입니다.

간단히 말하면, 양수의 원래 코드, 보수 코드, 음수의 보수 코드는 완전히 동일합니다. 또한, 음수(즉, 부호 비트가 1인 수)의 1의 보수와 1의 보수의 경우, 부호 비트 뒤의 여러 자리는 다음의 값을 나타내지 않는다는 사실에 특별한 주의를 기울여야 합니다. 번호. 이 숫자의 크기를 알고 싶다면 보수 또는 보수가 필요해야 합니다.

추천: "프로그래밍 비디오"

위 내용은 컴퓨터 기계의 수를 표현하는 세 가지 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.