책 내용 질문하기
3회 전자계산기 22번문제
도서
[2012] 기출문제집 정보처리기사 필기
페이지
조회수
3632
작성일
2012-02-26
작성자
첨부파일

다음 연산의 결과는?(단, 수의 표현은 2'S Complement임)

101011 - 100110

이거인데요??

첫번째 비트가 1이므로 음수값입니다.음수값은 다시 2의 보수를 취해야만 그 값의 크기를 알 수 있습니다.

101011과 100110 에 대한 2의 보수를 구한 후 10진수로 변환합니다 ...

101011 - > 010101

100110 - > 011010

여기서 음수값을 다시 2의 보수로 취할때 ....이해가 안가서 그러는데요,,

101011 이거를 보면..

첫번째 비트가 1이니깐..양수는 0 이므로 당연히 맨앞자리는 0으로 바꿔주고..

010101 --> 맨뒤에 비트를 1로만 그대로 써주고 나머지는 다 반대로 바꼇습니다..맞나요??

이렇게 이해를 하게된다면..

그다음꺼..100110

011010 -> 맨뒤에께 바뀌지않고..뒤에서 앞에것도..1이 0으로 안바뀌고 그대로 써줬습니다..

이해가 안가네요..어떻게 취해야하는건지요???자세히 설명부탁드립니다.

답변
2012-02-27 10:10:58

안녕하세요.

2의 보수를 구하는 방법만 명확히 하시면 될 것 같습니다.

방법1) 값을 1의 보수로 변환 그리고 1의 보수에 +1을 합니다.

방법2) 오른쪽에서 왼쪽 방향으로 진행하면서 첫번째 1이 나올때까지는 그대로 써주고 나머지는 1은 0으로 0은 1로 변환합니다.

방법 1로 설명하겠습니다.

101011

101011 -> 1의 보수 -> 010100

010100 ->2의 보수(+1) -> 010101

100110

100110 -> 1의 보수 -> 011001

011001 -> 1의 보수 +1 -> 011010

산출된 결과

010101 을 10진수로 변경하면 16+4+1 = 21(2의 보수로 표현하였으므로 앞에 - 부호를 붙임) -> -21

011010 을 10진수로 변경하면 16+8+2 = 26(2의 보수로 표현하였으므로 앞에 - 부호를 붙임) -> -26

-21 - (-26) = -21 + 26 = 5

5를 2진수로 변환하면 101입니다. 6Bit로 표현하면 000101이 됩니다.

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

"
  • *
    2012-02-27 10:10:58

    안녕하세요.

    2의 보수를 구하는 방법만 명확히 하시면 될 것 같습니다.

    방법1) 값을 1의 보수로 변환 그리고 1의 보수에 +1을 합니다.

    방법2) 오른쪽에서 왼쪽 방향으로 진행하면서 첫번째 1이 나올때까지는 그대로 써주고 나머지는 1은 0으로 0은 1로 변환합니다.

    방법 1로 설명하겠습니다.

    101011

    101011 -> 1의 보수 -> 010100

    010100 ->2의 보수(+1) -> 010101

    100110

    100110 -> 1의 보수 -> 011001

    011001 -> 1의 보수 +1 -> 011010

    산출된 결과

    010101 을 10진수로 변경하면 16+4+1 = 21(2의 보수로 표현하였으므로 앞에 - 부호를 붙임) -> -21

    011010 을 10진수로 변경하면 16+8+2 = 26(2의 보수로 표현하였으므로 앞에 - 부호를 붙임) -> -26

    -21 - (-26) = -21 + 26 = 5

    5를 2진수로 변환하면 101입니다. 6Bit로 표현하면 000101이 됩니다.

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

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