책 내용 질문하기
기출2010 5월B형 38번 질문입니다
도서
[2011] 정보처리산업기사 필기
페이지
조회수
152
작성일
2011-08-17
작성자
첨부파일

풀이 중에서 77을 2진수로 표현하면 01001101 이 된다고 되어 있는데 왜그런가요?

7은 2진수로 표현하면 0111인데 거기서 어떻게 되는 건가요?

답변
2011-08-18 09:24:14

안녕하세요.

10진수 77을 2진수로 변경하면 1001101입니다.(1편 핵심요약 62쪽 진법 변환을 참고하세요.)

문제에 8비트라는 조건에 맞춰 앞에 0을 추가하여 8비트로 맞춥니다. 0100 1101

2의 보수는 1의 보수에 +1을 하는 것이고, 1의 보수는 0은 1로, 1은 0으로 변환하는 것입니다.

01001101 -> 1의 보수 -> 10110010 -> 2의 보수(+1) -> 10110011

이제 2비트 오른쪽으로 이동(시프트)하면 맨 앞의 부호 비트를 빼고 이동하면

1 0110011

1 01100

빈 공간을 채우는 패딩 비트는 오른쪽 시프트이면서 2의 보수이므로 1이 들어와

1 1101100 이 됩니다.

산술 Shift

산술 Shift는 부호(Sign)를 고려하여 자리를 이동시키는 연산으로, 2n으로 곱하거나 나눌 때 사용한다.

ㆍ왼쪽으로 n Bit Shift하면 원래 자료에 2n을 곱한 값과 같다.

ㆍ오른쪽으로 n Bit Shift하면 원래 자료를 2n으로 나눈 값과 같다.

ㆍ홀수를 오른쪽으로 한 번 Shift하면 0.5의 오차가 발생한다.

ㆍ산술 Shift는 정수 표현 방식에서만 가능한 방법으로, 정수의 수치 표현 방법에 따라서 표현이 조금씩 다르다.

Shift

수치 표현법

-43

+43

Shift

Left

부호화

절대치

ㆍPadding Bit : 0

10101011 → 11010110

-43×21, 즉 -86이 된다.

양수는 모두 같다.

ㆍPadding Bit : 0

00101011 → 01010110

43×21, 즉 86이 된다.

1의

보수법

ㆍPadding Bit : 1

11010100 → 10101001

-43×21, 즉 -86이 된다.

2의

보수법

ㆍPadding Bit : 0

11010101 → 10101010

-43×21, 즉 -86이 된다.

Shift

Right

부호화

절대치

ㆍPadding Bit : 0

ㆍ오차 발생 : 0.5 증가

10101011 → 10010101

-43÷21 → -21.5 → -21

양수는 모두 같다.

ㆍPadding Bit : 0

00101011 → 00010101 → 21

43÷21, 즉 21.5가 되어야 하지만 오차가 발생하여 0.5가 감소한다.

1의

보수법

ㆍPadding Bit : 1

ㆍ오차 발생 : 0.5 증가

11010100 → 11101010

-43÷21 → -21.5 → -21

2의

보수법

ㆍPadding Bit : 1

ㆍ오차 발생 : 0.5 감소

11010101 → 11101010

-43÷21 → -21.5 → -22

Padding Bit

Shift에서 자리를 이동한 후 생기는 왼쪽이나 오른쪽 끝의 빈자리에 채워지는 비트를 말한다.

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

"
  • *
    2011-08-18 09:24:14

    안녕하세요.

    10진수 77을 2진수로 변경하면 1001101입니다.(1편 핵심요약 62쪽 진법 변환을 참고하세요.)

    문제에 8비트라는 조건에 맞춰 앞에 0을 추가하여 8비트로 맞춥니다. 0100 1101

    2의 보수는 1의 보수에 +1을 하는 것이고, 1의 보수는 0은 1로, 1은 0으로 변환하는 것입니다.

    01001101 -> 1의 보수 -> 10110010 -> 2의 보수(+1) -> 10110011

    이제 2비트 오른쪽으로 이동(시프트)하면 맨 앞의 부호 비트를 빼고 이동하면

    1 0110011

    1 01100

    빈 공간을 채우는 패딩 비트는 오른쪽 시프트이면서 2의 보수이므로 1이 들어와

    1 1101100 이 됩니다.

    산술 Shift

    산술 Shift는 부호(Sign)를 고려하여 자리를 이동시키는 연산으로, 2n으로 곱하거나 나눌 때 사용한다.

    ㆍ왼쪽으로 n Bit Shift하면 원래 자료에 2n을 곱한 값과 같다.

    ㆍ오른쪽으로 n Bit Shift하면 원래 자료를 2n으로 나눈 값과 같다.

    ㆍ홀수를 오른쪽으로 한 번 Shift하면 0.5의 오차가 발생한다.

    ㆍ산술 Shift는 정수 표현 방식에서만 가능한 방법으로, 정수의 수치 표현 방법에 따라서 표현이 조금씩 다르다.

    Shift

    수치 표현법

    -43

    +43

    Shift

    Left

    부호화

    절대치

    ㆍPadding Bit : 0

    10101011 → 11010110

    -43×21, 즉 -86이 된다.

    양수는 모두 같다.

    ㆍPadding Bit : 0

    00101011 → 01010110

    43×21, 즉 86이 된다.

    1의

    보수법

    ㆍPadding Bit : 1

    11010100 → 10101001

    -43×21, 즉 -86이 된다.

    2의

    보수법

    ㆍPadding Bit : 0

    11010101 → 10101010

    -43×21, 즉 -86이 된다.

    Shift

    Right

    부호화

    절대치

    ㆍPadding Bit : 0

    ㆍ오차 발생 : 0.5 증가

    10101011 → 10010101

    -43÷21 → -21.5 → -21

    양수는 모두 같다.

    ㆍPadding Bit : 0

    00101011 → 00010101 → 21

    43÷21, 즉 21.5가 되어야 하지만 오차가 발생하여 0.5가 감소한다.

    1의

    보수법

    ㆍPadding Bit : 1

    ㆍ오차 발생 : 0.5 증가

    11010100 → 11101010

    -43÷21 → -21.5 → -21

    2의

    보수법

    ㆍPadding Bit : 1

    ㆍ오차 발생 : 0.5 감소

    11010101 → 11101010

    -43÷21 → -21.5 → -22

    Padding Bit

    Shift에서 자리를 이동한 후 생기는 왼쪽이나 오른쪽 끝의 빈자리에 채워지는 비트를 말한다.

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

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