정답책 34p 9번 설명에 2의 보수를 구하려면 128을 빼라고하는데 이 부분 이해가 잘 안가요
설명해주세요
안녕하세요.
공식처럼 생각하시면 됩니다.
2의 보수로 표현된 값을 10진수로 변환하려면 2의 보수를 구하는 역의 과정 즉 다시 2의 보수를 취하면 되는데 .. 이 과정이 주어진 비트수보다 1비트 큰 자리를 1로 한 값(즉 7비트 인 경우는 10000000 = 128)에서 빼는 값과 동일합니다.
예를 들어 1010이 2의 보수로 표현된 값이라면 10진수로 변환하기 위해 다시 2의 보수로 취하면 0110이 되어 10진수로 6이라는 값이 됩니다.
마찬가지로 1010 자체를 10진수로 변환한 값 10을 5자리의 값(10000)인 16에서 10을 뺀 6과 동일하게 산출됩니다.
이 과정이 이해하기 어려우시면 2의 보수로 표현된 값을 다시 2의 보수로 구할 때는 한자리 큰 자리 값에서 뺀다고 기억하세요.
그래서 DEC=128-DEC가 사용된 것입니다.
K=2**(8-p) DEC=DEC+(K*S[P])
위 과정은 2진수를 10진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.
오늘도 즐거운 하루 되세요.
"-
*2014-10-01 09:52:50
안녕하세요.
공식처럼 생각하시면 됩니다.
2의 보수로 표현된 값을 10진수로 변환하려면 2의 보수를 구하는 역의 과정 즉 다시 2의 보수를 취하면 되는데 .. 이 과정이 주어진 비트수보다 1비트 큰 자리를 1로 한 값(즉 7비트 인 경우는 10000000 = 128)에서 빼는 값과 동일합니다.
예를 들어 1010이 2의 보수로 표현된 값이라면 10진수로 변환하기 위해 다시 2의 보수로 취하면 0110이 되어 10진수로 6이라는 값이 됩니다.
마찬가지로 1010 자체를 10진수로 변환한 값 10을 5자리의 값(10000)인 16에서 10을 뺀 6과 동일하게 산출됩니다.
이 과정이 이해하기 어려우시면 2의 보수로 표현된 값을 다시 2의 보수로 구할 때는 한자리 큰 자리 값에서 뺀다고 기억하세요.그래서 DEC=128-DEC가 사용된 것입니다.
K=2**(8-p) DEC=DEC+(K*S[P])
위 과정은 2진수를 10진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.
오늘도 즐거운 하루 되세요.
"