2013-09-23 3 views
0

지침 : 가능하면이 십진수를 5 비트 2의 보수 형식으로 변환하십시오. 가능하지 않다면 이것이 왜 그렇게되는지 설명하십시오. 온라인 계산기에 따르면십진수를 2의 보수로 변환

(16)베이스 (10)

:

내가 이해에서

,

진수 긍정적 경우 :

  • 1 단계 : ma 변환 2 진수로 변환합니다.
  • 2 단계 : 패드 0을 원하는 비트 크기로 설정합니다.

    • 1 단계 : 소수점이 부정적인 경우

    바이너리 크기를 변환합니다.

  • 2 단계 : 패드 0을 원하는 비트 크기로 설정합니다.
  • 3 단계 : 비트를 반전하여 1의 보수를 얻습니다.
  • 4 단계 : 2의 보수를 얻으려면 1을 더하십시오. 16 이후

는 단순히 이미 (5 개 자리를 함유하는) 5 비트이기 때문에 (10000) 기재 2.

I 더이상 패딩 0의 것을 수득되지 반복 분할하여 이진수로 변환 긍정적이다.

누군가 온라인 변환기가 오류를 반환하는 이유를 설명 할 수 있습니까? (또한 강력하게 올바른 대답이라고 생각하십니까?)

답변

3

5 비트로 음수 및 음수를 원하기 때문에 최대 2^5 개의 다른 숫자를 나타낼 수 있습니다. 범위는 -16에서 +15까지입니다.

16 비트가 5 비트 범위를 벗어 났으므로 오류가 발생합니다. 6 비트로 변경하면 작동합니다.

0

10000 값이 -16이기 때문에 +16을 나타내는 데 6 비트가 필요합니다. 시각화

가장 좋은 방법입니다 -
00000-0
00001-1
00010-2
....
01111-15
10000 - (-) 16
10001 - (-) 15
....
10000의 2의 보수를 취해보십시오.

의 값 16을 가져야합니다.
관련 문제