책 내용 질문하기
질문이요
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
45,54
조회수
138
작성일
2020-04-07
작성자
탈퇴*원
첨부파일

1. 1권 45페이지 7번문제 해설에서 2번째 계산을 하는 과정인 -12%(-5)를 할 때 답이 -2 라고 적혀있는데 왜 -2인지 궁금합니다. 양수2가 아닌 이유가 있나요? 라고 몇일전에 질문을하였고

[1]

(1) / (2) = (3) .... (4)

1을 목적수, 2를 나눔수, 3을 몫, 4를 나머지로 칭하겠습니다.

 

C 언어에서 음수의 나머지 연산은 나눔수*몫이 목적수보다 작지 않도록 구한 후, 그 나머지를 구합니다.

즉, -12/-5 에서 -12보다 작지 않은 -5*몫이 되려면 몫은 2가 되어야 하죠. (-10)

-12 / -5 = 2 ...

 

목적수 = 나눔수 * 몫 + 나머지

라는 기본 공식을 따왔을 때 나머지를 구한다면, 나머지는 -2가 됩니다.

-12 = -5 * 2 + (-2)

 

이렇게 답해주셨는데 잘 이해가 가지 않아서 다시 문의드립니다. 답변해주신 부분 중 2번째 문단에서 질문이 있습니다. 나눔수*몫이 목적수보다 작지 않도록 해야 한다고 하셨는데 그러면 몫이 2말고도 -2도 되지않나요? c언어에서 음수의 나눗셈의 몫 구하는 방법을 잘 모르겠습니다.

 

 

 

2. 1권 54페이지에서 문제 2번문제 풀이과정의 7번부분에서 c- --a계산부분을 잘모르겠습니다. 여기서 c와 a의 값은 각각 무엇인지 궁금합니다. 제가 생각했을때는 c는 4고 a는 2가 나온다고 생각했는데 잘모르겠습니다.

 

답변
2020-04-08 11:41:44

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

 

[1]

몫이 -2인 경우 검산을 해보죠.

-12 = -5 * -2 + 나머지

이런 식이 형성됩니다.

이경우 -5*-2의 값은 양수 +10이고 양수 10은 음수 -12보다 큰 수죠.

이렇게되면 나머지는 -22가 되어 잘못된 결과가 나오게 되죠.

(음수 나머지 연산에서는 나머지가 나눔수보다 작아야 합니다.)

 

[2]

c언어에서 전치연산과 후치연산을 계산시, 전체 식이 수행되기전 모든 전치연산을 수행한 후에 식이 수행됩니다.

(후치연산은 전체 식이 수행된 후에 적용되죠.)

즉 해당 식은 다음과 같이 바꿔볼 수 있습니다.

 

1. a = a + 1;

2. a = a - 1;

3. d % b + a * c || c - a >= 10 

4. c = c - 1;

 

전치연산자 ++a와 --a가 식에 들어가기 전에 수행되어 결국 3이라는 값을 계속 갖고 있게 되고,

c는 후치 연산이므로 3번의 식이 모두 수행된 이후에야 적용되기 때문에 식에 아무런 영향을 주지 않게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-04-08 11:41:44

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

     

    [1]

    몫이 -2인 경우 검산을 해보죠.

    -12 = -5 * -2 + 나머지

    이런 식이 형성됩니다.

    이경우 -5*-2의 값은 양수 +10이고 양수 10은 음수 -12보다 큰 수죠.

    이렇게되면 나머지는 -22가 되어 잘못된 결과가 나오게 되죠.

    (음수 나머지 연산에서는 나머지가 나눔수보다 작아야 합니다.)

     

    [2]

    c언어에서 전치연산과 후치연산을 계산시, 전체 식이 수행되기전 모든 전치연산을 수행한 후에 식이 수행됩니다.

    (후치연산은 전체 식이 수행된 후에 적용되죠.)

    즉 해당 식은 다음과 같이 바꿔볼 수 있습니다.

     

    1. a = a + 1;

    2. a = a - 1;

    3. d % b + a * c || c - a >= 10 

    4. c = c - 1;

     

    전치연산자 ++a와 --a가 식에 들어가기 전에 수행되어 결국 3이라는 값을 계속 갖고 있게 되고,

    c는 후치 연산이므로 3번의 식이 모두 수행된 이후에야 적용되기 때문에 식에 아무런 영향을 주지 않게 됩니다.

     

    행복한 하루되세요 :)

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