현재 위치 - 중국오락넷 - 영화 및 TV 뉴스 - 보완 코드는 컴퓨터에서 어떻게 표현되나요?

보완 코드는 컴퓨터에서 어떻게 표현되나요?

1. 양수의 2의 보수 표현:

양수의 2의 보수 = 원래 코드

음수의 2의 보수 = {원래 코드의 부호 비트는 그대로 유지됨 } + {숫자 비트는 비트 단위로 반전됨 + 1} 또는

= {원래 코드의 부호 비트는 변경되지 않음} + {오른쪽에서 첫 번째 1 숫자 비트와 오른쪽의 0은 변경되지 않고 왼쪽의 위치는 부정됩니다.}

10진수 정수 +97과 -97을 예로 들어보세요:

+97 원본 코드 = 0110_0001b

+97 보수 = 0110_0001b

-97 원래 코드?= 1110_0001b

-97 보수?= 1001_1111b

2 . 순수 십진수 원본 코드:

순수 십진수 원본 코드를 얻는 방법은 무엇입니까? 여러 가지 방법이 있는데, 서면 계산에 더 편리한 방법이 있습니다.

0.64를 예로 들면 원래 코드는 0.1010_0011_1101_0111b입니다.

연산 방법:

0.64 * 2^n을 변환하여 곱셈 결과의 정수 부분을 얻습니다.

여기서 n을 16으로 취하면

0.64d =?0.1010_0011_1101_0111b가 쿼리 결과와 일치한다고 볼 수 있습니다.

다시 실험하고 n을 12로 설정하면

을 얻습니다.

3. 순수 소수의 2의 보수:

순수 소수의 2의 보수가 따르는 규칙은 다음과 같습니다: 소수의 소스 코드를 얻은 후 소수 앞의 1자리 점은 기호를 나타내며, 가장 낮은 것(오른쪽)부터 시작하여 첫 번째 "1"을 찾아 적고, "1이 보이면 0을 쓰고, 0이 보이면 1을 씁니다."

-0.64를 예로 들면 원래 코드는 1.1010_0011_1101_0111b입니다.

보완 코드는 1.0101_1100_0010_1001b입니다.

물론 하드웨어 언어에서 바이너리로 표현하면 Verilog 등 소수점을 갖는 것이 불가능합니다(사실 소수점을 어디에 두어야 할지 모르겠습니다).

4. 일반적으로 이 경우 정수 연산으로 변환하는 것이 더 편리합니다. 쿼리 후 원래 코드는 1110_0011_1101_0111b입니다. process:

-97.64 * 2^16 = -6398935 =?1110_0001_1010_0011_1101_0111b, 여기서 소수점은 오른쪽에서 16번째 자리이며 이는 쿼리 결과와 일치합니다.

그러면 그 보수는 1001_1110_0101_1100_0010_1001b입니다. 여기에는 음수의 보수가 사용됩니다. = {원래 코드의 부호 비트는 그대로 유지됩니다.} + {숫자 비트는 비트 단위로 반전됩니다. + 1} ?Method

< p>5. 코드를 보완하여 원래 코드를 얻습니다.

방법: 부호 비트가 이동하지 않거나 진폭 값이 +1 반전되거나 부호 비트가 이동하지 않고 진폭 값이 -1 역수

-97.64 보수=?1001_1110(.)0101_1100_0010_1001b

부정=?1110_0001(.)1010_0011_1101_0110b

+1 =?1110_0001(.) 1010_0011_1101_01 11b는 쿼리 결과와 일치합니다

6. 2의 보수 코드 확장:

필요한 경우 2의 보수 코드는 연산 중에 디지털 방식으로 확장되어야 합니다. 비트를 앞으로 확장해야 합니다.

-5의 보수 = 4'b1011 = 6'b11_1011

ps. 원래 코드의 확장은 부호 비트를 맨 앞으로 가져온 다음 상위에 0을 추가하는 것입니다. 확장 비트의 일부입니다.

p>

-5 원본 코드 = 4'b'1101 = 6'b10_0101이고, 보완 코드는 6'b11_1011로 위와 일치합니다.

확장 정보:

컴퓨터에서 기호 숫자를 표현하는 방법에는 원본 코드, 보완 코드, 보완 코드의 세 가지가 있습니다. 세 가지 표현 방법은 모두 부호 비트와 숫자 비트의 두 부분으로 구성됩니다. 부호 비트는 "양수"를 나타내기 위해 0을 사용하고 "음수"를 나타내기 위해 1을 사용합니다. 그러나 숫자 비트는 세 가지 표현 방법에서 다릅니다.

컴퓨터 시스템에서는 값이 항상 자신의 보수 코드를 사용하여 표현되고 저장됩니다. 그 이유는 보수 코드를 사용하면 부호 비트와 숫자 필드를 동시에 균일하게 처리할 수 있고 덧셈과 뺄셈도 균일하게 처리할 수 있기 때문입니다. 또한, 보완코드와 원본코드를 변환하는 동작과정은 동일하며 추가적인 하드웨어 회로가 필요하지 않다.

copyright 2024중국오락넷