[차례]  [함수색인] Wel 도움말 문서 [이전]  [다음]
대분류: 연산자(Operator)
소분류: 대입연산자
산술 혼합 연산자 작성일: 2000/01/15
수정일: 2002/07/05

1. 연산자: ~= += -= *= /= %= |= ^= &= <<= >>= **= 2. 형 식: operand1 연산자 operand2 operand1: 기억할 변수 operand2: 상수, 변수, 연산식 3. 설 명: operand2의 값을 operand1에 계산후 대입(기억)한다. 연산순위는 대입문과 동일하며 특정 계산을 한 후에 그 결과를 저장하는 것이 대입문과 다르다. <예제> a= 10; // a에 10 이 기억된다. b= a; // b에 a의 값 10 이 기억된다. b+= a; // b= b + a의 계산을 하여 결과 20 을 b에 저장한다. b*= a+10; // + 보다 *= 가 연산순위가 낮기 때문에 + 를 먼저 계산한다. // 즉 b= b * (a+10)의 결과 400 이 b에 기억된다. a= 5; // a에 5 가 기억된다. a-= 2; // a=a-2 를 하여 3 이 a에 기억된다. a/= a; // a= a / a를 하여 1 이 a에 기억된다. a%= a; // a= a % a를 하여 1 을 1 로 나눈 나머지 0 이 a에 기억된다. a= 2; // a에 2 가 기억된다. a**=3; // a= a ** 3 을 하여 2 의 3 승의 값 8 이 a에 기억된다. a= "SEOUL"; a~= "&PUSAN"; // a=a~"&PUSAN"을 의미하며 "SEOUL&PUSAN"이 a에 기억됨 a= 1; a*= a**= a+= 1; // a+=1 의 값은 2 이며 a**=2(a=a**2)의 값은 4 이다. // a*=4(a=a*4)의 값은 16 이며 a에 16 이 기억된다. < a*= a**= a+= 1; 의 추가 설명 > a= 1; a*= a**= a+= 1; (1) a*= a**= a= a + 1 --> 대입문은 오른쪽에서 왼쪽으로 풀이를 함 2= 1 + 1 --> a에 2 가 기억됨 (2) a*= a**= 2 ---------> a+=1을 한 결과값인 2 가 남은 연산에 참여함 a*= a= a ** 2 ------> 현재의 a값(2)에 2 를 거듭제곱 4= 2 ** 2 ------> 현재 a는 1 이 아니라 2 임, 결과 4 가 a에 기억됨 (3) a*= 4 -------------> a**=2의 결과값인 4 가 남은 연산에 참여함 a= a * 4 ----------> 현재의 a값(4)에 4 를 곱셈 16= 4 * 4 ----------> 마지막으로 16 이 a에 기억됨 <Bit 연산자 및 Shift 연산자 산술 혼합 연산자 예제> ※ Bit 연산자와 Shift 연산자에 대한 설명을 참고 하세요 a= 1; b= 3; c= 5; a&= 3; --> a= a & 3 을 의미하며 1 & 3 의 결과 1 이 a에 기억 됨 b|= 4; --> b= b | 4 을 의미하며 3 | 4 의 결과 7 이 b에 기억 됨 c^= 3; --> c= c ^ 3 을 의미하며 5 ^ 3 의 결과 6 이 c에 기억 됨 a= 1; b= 8; a<<= 2; --> a= a<<2 를 의미하며 1 << 2 의 결과 4 가 a에 기억 됨 b>>= 1; --> b= b>>1 을 의미하며 8 >> 1 의 결과 4 가 b에 기억 됨

Wel Version 1.0
[차례]  [함수색인] [이전]  [다음]