책 내용 질문하기
예상문제은행
도서
2020 시나공 정보처리기능사 필기 [기본서]
페이지
85,86
조회수
233
작성일
2020-08-19
작성자
탈퇴*원
첨부파일

85쪽에 12번문제와 86쪽에23번 문제에 대해 문의 드립니다.

우선 12번 문제에 대해서

10진수 550에 대한 9의 보수는

550-x=999 에서 x값을 구하면 나오는 거로 알고 있는데 혹시

81쪽에 자기보수코드에 대한 설명을 보면 10진수5의 9의 보수를 구하는 과정이 나오는데 이과정대로 풀이를 할 수있나요?

해봤는데 답이 계속 안나와서 그런데 둘이 뭐가 다른건지에 대해 궁금합니다.

 

 

23번 문제풀이를 보면 이진수를 10진수로 바꾸고 뺄셈을 하라고 되어 있는데

혹시 이진수끼리 뺄셈이 가능한지에 대해 궁금합니다.가능하다면 어떻게 하면 되는지에 대해 알려 주시면 감사하겠습니다.

답변
2020-08-20 11:25:59

안녕하세요 길벗수험서 운영팀입니다.

 

[12번]

BCD와 3초과코드가 각 숫자의 한자리 한자리에 적용된다는 것에 주의하세요.

 

5, 5, 0 을 따로 따로 두고 각 자리에 대한 2진수를 구한 후 81쪽의 자기 보수 코드의 과정을 밟으면 동일하게 9의 보수를 구할 수 있습니다.

 

5의 경우 잠깐만요에 나온 그대로 수행하시면 되고,

0의 경우

0000 + 11 = 0011 (보수화) = 1100 - 11 = 1001 = 10진수 9가 나옵니다.

 

 

[23번]

가능합니다.

결과값이 양수인 경우 10진수와 다를바가 없습니다.

위의 1100 - 11을 예로 들면,

0에서 1을 뺄수 없으니 앞에서 가져옵니다. 10진수에서 10을 가져오듯, 2진수에서는 2를 가져옵니다. 그럼 맨 뒷자리는 2-1이 되어 1이 나옵니다. (1)

다음 자리는 0입니다. 1을 빼야하니 앞에서 2를 가져오는데 문제는 뒤에서 이미 하나를 가져갔었죠. 때문에 2-1-1이 되어 0이 됩니다. (01)

다음 자리는 감산 계산이 없지만 뒤에서 하나를 가져간바 있으므로 원래 수에서 1이 감산됩니다. (001)

다음 자리는 아무것도 없으니 그대로 내려옵니다. (1001)

(인터넷 검색을 추천드립니다. 그림으로 보는게 이해가 빨라요)

 

결과값이 음수인 경우

원래수 - 빼는수 = 결과값

이라고 했을 때,

1. 빼는수의 2의 보수화

2. 원래수 + 위의 결과

여기가 끝이지만 결과가 음수이므로 2의 보수화 되어 있다는 것을 가정해야 합니다. 때문에 10진수로 변환할 때 2의 보수화를 다시 해준 뒤에 음수 기호를 붙여줘야 하죠.

 

23번을 풀어보면

1101(2의 보수화) -> 0011

1011+0011 = 1110

1110(2의 보수화) -> 0010

0010(10진수화) -> 2

2(음수기호 첨부) -> -2

 

요렇게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-08-20 11:25:59

    안녕하세요 길벗수험서 운영팀입니다.

     

    [12번]

    BCD와 3초과코드가 각 숫자의 한자리 한자리에 적용된다는 것에 주의하세요.

     

    5, 5, 0 을 따로 따로 두고 각 자리에 대한 2진수를 구한 후 81쪽의 자기 보수 코드의 과정을 밟으면 동일하게 9의 보수를 구할 수 있습니다.

     

    5의 경우 잠깐만요에 나온 그대로 수행하시면 되고,

    0의 경우

    0000 + 11 = 0011 (보수화) = 1100 - 11 = 1001 = 10진수 9가 나옵니다.

     

     

    [23번]

    가능합니다.

    결과값이 양수인 경우 10진수와 다를바가 없습니다.

    위의 1100 - 11을 예로 들면,

    0에서 1을 뺄수 없으니 앞에서 가져옵니다. 10진수에서 10을 가져오듯, 2진수에서는 2를 가져옵니다. 그럼 맨 뒷자리는 2-1이 되어 1이 나옵니다. (1)

    다음 자리는 0입니다. 1을 빼야하니 앞에서 2를 가져오는데 문제는 뒤에서 이미 하나를 가져갔었죠. 때문에 2-1-1이 되어 0이 됩니다. (01)

    다음 자리는 감산 계산이 없지만 뒤에서 하나를 가져간바 있으므로 원래 수에서 1이 감산됩니다. (001)

    다음 자리는 아무것도 없으니 그대로 내려옵니다. (1001)

    (인터넷 검색을 추천드립니다. 그림으로 보는게 이해가 빨라요)

     

    결과값이 음수인 경우

    원래수 - 빼는수 = 결과값

    이라고 했을 때,

    1. 빼는수의 2의 보수화

    2. 원래수 + 위의 결과

    여기가 끝이지만 결과가 음수이므로 2의 보수화 되어 있다는 것을 가정해야 합니다. 때문에 10진수로 변환할 때 2의 보수화를 다시 해준 뒤에 음수 기호를 붙여줘야 하죠.

     

    23번을 풀어보면

    1101(2의 보수화) -> 0011

    1011+0011 = 1110

    1110(2의 보수화) -> 0010

    0010(10진수화) -> 2

    2(음수기호 첨부) -> -2

     

    요렇게 됩니다.

     

    행복한 하루되세요 :)

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