2012-05-31 3 views
0

나는 컴퓨터 과학을 공부하고 있으며, 내 자신의 것으로는 생각할 수 없다.2 진 초과 표기

1 base 10 = 0000000001 

2^10-1 = 1000000000 

: -233는 내가 뭘해야 할 것은 수 그래서 (2^n-1)

을 초과 표기법으로 표현하는 것입니다

은, 내가 생각 해낸 10 비트 표현을 사용 :

이 번호 1 기수 10 표기 = 1000000001

따라서 -256은 0000000001

입니다.

내 255는 1111111110

이 표기법 다음에 오는 -233 번호는 무엇입니까?

0 0 0 0 0 1 0 1 1 1 너희들이 나를 도울 수 있기를 바랍니다 :

책의 결과는 0 1 0 0 0 1 0 1 1 1

내 결과입니다.

답변

1

나는 당신이 올바른 길을 가고 있었다고 생각하지만 약간의 오류가 있었다고 생각합니다.

표기법에 익숙하지 않았기 때문에 먼저 살펴 보았습니다. K가 대개 2^(n-1) = 2^9 = 512로 선택되는 것 같습니다. 00 0000 0000 = -512 및 11 1111 1111 = 511을 의미합니다. 어떻게하면 -256을 얻을지 모르겠지만 오류가있을 수 있습니다.

이제 -512 (00 0000 0000)에서 -233까지는 279 (01 0001 0111)의 차이가 있습니다. 이것은 당신의 본보기의 결과 인 것 같습니다.

  • 사용 양의 값 (12)의 이진 표현 예 번호 -12 -

    쉽게 건설이 (가정 K^2 = (N-1)) 할 수있다. 모든 비트 10 0000 1100

  • 반전 : 00 0000 1100
  • K (2^(N-1))이 추가 01 1111 0011
  • (인해 제로 값)을 하나 추가 01 1111 0100