114p dec =128-dec 왜이게 2의보수값인지 이해가 잘안되요 ㅠ그리고 왜 3번답이dec=dec*(-1) 인지도 이해가 안되네요 ㅠㅜ
안녕하세요.
공식처럼 생각하시면 됩니다.
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진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.
dec에 -1을 곱하는 것은 해당 값이 음수로 표현된 값인 경우 음수로 표현하기 위한 처리입니다.
오늘도 즐거운 하루 되세요.
-
*2018-04-06 09:24:47
안녕하세요.
공식처럼 생각하시면 됩니다.
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진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.
dec에 -1을 곱하는 것은 해당 값이 음수로 표현된 값인 경우 음수로 표현하기 위한 처리입니다.
오늘도 즐거운 하루 되세요.