Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[1931] Re:% 연산제에대해서 질문입니다......
임문환 [mhlim] 1289 읽음    2003-02-02 01:05
C/C++에서 %는 나머지 연산자로서 아래와 같이 나머지를 구합니다.
int n=7;
int div=4;
int ret;
ret = n%div; //결과 ret값은 3

피제수(被除數)인 n을 제수(除數)인 div로 나눈 결과값의 정수부분을 몫으로 하고,
(피제수 - (몫 * 제수))의 결과값이 %연산 결과가 됩니다.
과정을 풀어서 쓰면 아래와 같이 됩니다.
int n=7;
int div=4;
int dret;
int ret;
dret = n/div; //C/C++에서 int 자료형에는 1.75를 넣을 수 없으므로 소수부분을 제외한 정수부분(1)만 dret에 들어감.
ret = n  - (div * dret);
//위 두줄을 하나로 쓰면, ret = n - ( div * (n/div) );


%연산 결과 부호는 곱셈/나눗셈과 달리 피제수의 부호만을 따릅니다.

마지막으로, %연산은 정수에 대해서만 할 수 있습니다.

round robin 방식


dream7kr 님이 쓰신 글 :
: i%4 같은 연산자에대해서 질문입니다..
:
: winapi 이있는 소스보고있었는데요
:
: i % 4 같은 어떻게 계산해야하는지을 모르겠네요..-_-;
:
: 나머지 연산자가 남는다고 들었는데
:
: 아무리 계산해도 5도 나오더라구요..ㅡ.ㅡ; 3까지만 나오고 그이상은 안나오다고 하는데
:
: 저는 아무리해도 나오더라구요..어떻게 계산해야하나요??
:
: 2 / 4 을 하면 0.5 가 나오잖아요..그러면 이 5 가 선택되는거 아닌가요??
:
: -------
: #include<stdio.h>
: #include<conio.h>
: #include<stdlib.h>
: #include<dos.h>
: void main()
: {
:  int i=0;
:  clrscr();
:  for (i=1;i<40;i++)
:    {
:     gotoxy(35,10);
:     switch(i%4){                        /* 이거입니다...ㅡ.ㅡ; 모르겠어요 */
:        case 0:puts("----------");
:               break;
:        case 1:puts("//////////");
:               break;
:        case 2:puts("||||||||||");
:               break;
:        case 3:puts("\\\\\\\\\\");
:               break;
:        }
:     delay(10000);
:     }
: }
: ----------

+ -

관련 글 리스트
1930 % 연산제에대해서 질문입니다...... dream7kr 1145 2003/02/01
1931     Re:% 연산제에대해서 질문입니다...... 임문환 1289 2003/02/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.