2014-01-10 2 views
0

나는 내 과제의 일부로 성공적으로 완료 한 많은 다른 유사한 문제들을 해결했다. 질문 중 하나와 약간의 혼란을 겪고 있습니다 ...10 진수 부호와 크기 변환

"10 진수 -256은 9 비트 메모리 위치에 있으며, 부호와 크기로 나타냅니다."

내가이 가지고 대답 ... 내가이 일을하는 것입니다 가지고 어떻게 0000 0000

11 다음

우리는 먼저 이진 폼을 표시하고 (비트를 최상위 비트를 반전 O는 양수 값이고 1은 음수 값을 나타냄) 부호는 양수 또는 음수 값인지 여부를 결정하고 크기는 숫자 또는 총 비트 수의 합계입니다.

기호와 크기에 -256의 표현을 보여주기 위해 추가 비트를 추가했습니다. 이것은 단순히 9 비트가 256이 음수인지 아니면 양수인지를 나타내는 데 충분하지 않기 때문입니다. 총 9 비트의 크기는 256이고 왼쪽의 10 번째 비트는 부호가 '1'로 표시되어 음수 256임을 나타냅니다.

혼란스러운 점은 십진수 -256은 9 비트 메모리 위치에서 개최되었고 결과는 1 0000 0000이었습니다. 숫자가 음수임을 나타내는 추가 비트를 추가하여 10 비트로 나타냅니다. 나는 9 비트 만 사용하여 부호와 크기를 -256으로 표현할 수있는 방법에 어려움을 겪고 있습니다. 그것은 9 비트로 보여주기가 불가능 해 보입니다. 따라서 저는 10 비트를 사용했지만 9 비트만을 사용할 수 있습니다. 누군가가이를 달성 할 수있는 방법을 도울 수 있습니다. 당신의 도움은 크게 감사하겠습니다. 나는 이것에 조금 붙어있다. 우리 선생님들은 우리가 인터넷이나 자기 지식을 사용하고 심지어 우리에게 단서를주지 않을 것이라고 기대합니다. 그래서 나는 여기에 있습니다.

+0

2의 보수는 숫자 범위가 항상 양수 N에서 음수 (N + 1)까지라는 흥미로운 특징이 있습니다. 즉, 부호있는 바이트는 127에서 -128까지를 나타냅니다. 위의 예에서 -256은 2의 보수 형식에서 1의 9 비트입니다. –

+0

보고있는 부호/크기 표현을 "1의 보수"라고도합니다. 흥미로운 점은 양수 값과 음수 값이 있다는 것입니다. (이것은 여분의 카운트가 손실되는 곳입니다.) –

+0

(BTW, 위에서 얻은 '11 0000 0000'대답이 맞습니다.) –

답변

0

이것이 조금 늦다는 것을 알고 있지만, 지금도이 사실을 내 HW에서보고 궁금해했습니다.

부호 크기의 주어진 w 비트의 크기는 2^(w-1)-1입니다.
100000000에 해당하는 십진수는 256입니다. 비트 수가 9 인 경우 2^(8)-1 = 255입니다.

따라서 9 비트가 부호 크기로 저장된 256을 저장할 수 없습니다.

-1

강사의 소리가 틀리면 2의 보완 형식으로 표현할 수 없습니다.

+0

예,하지만 이것이 가능한 대답이되어야한다는 뜻입니까 ?? 그것은 과거의 시험에도있었습니다.난 그냥 여분의 비트를 사용하거나 900 비트 10000 0000 것입니다 답변을주고 그것을 옆에 "오버플로"작성 해야하는지 이해하지 않습니다. 어떻게 생각할 수 있습니까? -256은 9 비트를 사용하여 부호와 크기를 계산할 수 있습니까 ?? – ComputerScienceStudent

+0

_ "이 _에 가능한 대답이 있어야합니다." 가능한 답이 없다는 것이 정답입니다. 시험에서 여러 번 트릭을 보았습니다 :-) – Kevin

+0

도움의 도움을 주신 @Kevin 감사합니다. 그것은 많은 도움이됩니다. 우리는 과거에도 트릭 질문을 접했습니다. 도와 주셔서 감사합니다. :) – ComputerScienceStudent

-1

당신이 0에서 표시 할 수 있도록, 2^8 = 256 다른 가능한 값을 가르치시는 2568 비트 (정밀의 8 비트를 표현 할 수없는 이유만으로, 9 비트, 기호 크기에 -256을 표현하는 것은 불가능합니다 ~ 255).

+0

도와 주셔서 감사합니다. 나는 그것이 불가능하다는 것을 알았지 만, 가능한 답이 있다는 것을 알았습니다. 그 대답을 해명 해 주셔서 감사합니다. – ComputerScienceStudent

+0

올바르지 않습니다. 2의 보수 범위는 2^n (n-1) ~ + 2^(n-1) -1이며, 2^n 다른 값입니다. 9 비트는 -256에서 +255를 제공합니다. http://en.wikipedia.org/wiki/Two's_complement –

+0

@PeterWebb를 참조하십시오. ** 특별히 ** sign magnitude **에서 -256을 표현할 수 없다는 것은 여분의 비트가 절대 값의 범위를 변경하지 않는다는 사실을 전제로합니다. 절대 값의 범위는 8 비트의 경우 255 개까지입니다. 내 대답을 다시 읽고 downvote 다시 생각해, 내가 잘못 말한, 그리고 그것이 명시된대로 정확하게 대답했다. – amnn