책 내용 질문하기
2의 보수구하는 알고리즘
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
34
조회수
385
작성일
2014-09-30
작성자
첨부파일

정답책 34p 9번 설명에 2의 보수를 구하려면 128을 빼라고하는데 이 부분 이해가 잘 안가요

설명해주세요

답변
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진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.

오늘도 즐거운 하루 되세요.

"
  • *
    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진수로 변환하는 과정(교재 섹션 참조)에 따라 각 자리의 가중치 값을 누적하여 계산하는 과정입니다.

    오늘도 즐거운 하루 되세요.

    "
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.