책 내용 질문하기
질문
도서
[2011] 정보처리기사 실기
페이지
조회수
116
작성일
2011-09-15
작성자
첨부파일

. 11년 시나공 2장 모의고사 4회.산업기사 07년 7월 문제

처리조건 2번째에서. 최상위 비트의 값이 1인 경우 음수이다.

이건 어떻게 하죠 선생님?

질문1. 교재에 있는 알고리즘 이해 처럼 설명해 주실 수 있을까요 선생님?

처리조건문에서( 단, 음수의 경우 2의 보수로 표현된 값이다.)

그러면 문제가 2진수 값을 10진수로 변환하여 출력하는 알고리즘이잖아요.

2의 보수를 1의 보수로 고친 뒤 십진수로 나타내야 하는거 아닌가요?

질문2. 플로차트 4번 답을 쓰는 부분에서요

S[1]=0 no 를 따라가면 최상위비트가 1일때를 처리하는데요,

dec= 128-dec

dec = dec * -1

이 부분"도" 이해가 안가요. 왜 이렇게 처리를 하는지요.

선생님 8자리(비트) 말고 5자리 해서 동영상 강의처럼 최상위 비트가 1 일때

쉽게 설명좀 해주세요..ㅠㅠ

-------------------------------------------------------

답변
2011-09-16 10:03:08

안녕하세요.

8비트의 값 중 가장 첫번째 비트가 부호비트라고 제시되었습니다.

1은 음수, 0은 양수

우선 주어진 값을 10지수로 변환한 후 첫번째 비트의 값을 확인합니다.

0이면 양수이므로 그냥 출력하고

1이면 음수인 2의 보수로 표현된 것이므로(문제에 제시된 조건)

2의 보수의 값을 처리하는 과정을 진행합니다.

2의 보수를 처리하는 과정은 공식처럼 생각하시면 됩니다.
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의 보수로 구할 때는 한자리 큰 자리 값에서 뺀다고 기억하세요.

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

"
  • *
    2011-09-16 10:03:08

    안녕하세요.

    8비트의 값 중 가장 첫번째 비트가 부호비트라고 제시되었습니다.

    1은 음수, 0은 양수

    우선 주어진 값을 10지수로 변환한 후 첫번째 비트의 값을 확인합니다.

    0이면 양수이므로 그냥 출력하고

    1이면 음수인 2의 보수로 표현된 것이므로(문제에 제시된 조건)

    2의 보수의 값을 처리하는 과정을 진행합니다.

    2의 보수를 처리하는 과정은 공식처럼 생각하시면 됩니다.
    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의 보수로 구할 때는 한자리 큰 자리 값에서 뺀다고 기억하세요.

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

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