2015-02-05 7 views
1

십진수를 2의 보수 이진수로 변환하려고합니다. 개념을 이해합니다.십진수를 2의 보수로 변환

  1. 진수 (자료 16)에 수를 변환
  2. 반전의 모든 비트 (8 자리로 패딩) 바이너리로 결과를 변환하고

1 그래서 난 노력 해왔다 추가 변환 (92) (기본 10)

92 -> Hex = 5c 
5C == 5 12 -> Binary = 01011100 
Inverting = 10100011 
      +  1 
      =10100100 

하지만 내 대답을 확인하는 데 사용되는 온라인 계산기는 말한다 : 01011100 나는 무엇을 잘못 했는가? 숫자가 양수이므로 최상위 비트는 0이어야합니다. 하지만 그 외에는 혼란 스럽습니다.

갱신

양수가 기호 크기를 위해 전환 할 필요가 없기 때문에이인가? 따라서 2의 보수를하기 전과 후에 숫자가 동일하게 유지됩니까?

의미, 내가 얻은 대답은 실제로 부정적인 해석입니다. -92?

+0

remember MSB에 1이있는 경우 2의 칭찬에서 음수라고 말하는 것입니다. – JBaczuk

+0

오른쪽! 나는 그것을 안다. 그러나 나는 내가 필요하지 않을 때 우연히 번호를 거꾸로했을지도 모른다라고 생각한다. –

+0

내가 여기있는 유일한 추측은 음수 92, 즉 'A4'또는 '10100100'으로 시작하여 그 2의 보수를 얻는 것입니다. – dasblinkenlight

답변

2

음수를 나타내려고 할 때만 반전하고 1을 추가하면 양수는 일반 이진수로 표시됩니다. (단지 양수로 범위가 좁아집니다).

+0

좋아, 내가 얻은 숫자는 실제로 92의 음수 표현인가? –

+1

예. 당신은 2의 칭찬에 -92를 나타내는 올바른 절차를 따랐습니다. – JBaczuk