+=, -=, *=, /=, %=, ^=, |=등이 있으며 이들을 복합대입연산자 or OP= 연산자라고 한다.

 

================== [ 예제 1 ] ===========================

 

a = 0;

a += 10;

 

trace(a);

 

[결과: output창]

 

10

 

========================================================

 

a += 10; 은 a 변수의 값을 10으로 더하고, 더한 결과값을 a 변수에 다시 대입하라는 말입니다.

a = a + 10; 과 같은 의미입니다.

 

(주의) + 와 = 사이를 띄어쓰면 구문에러가 발생합니다.

 

================== [ 예제 2 ] ===========================

 

a = 10;

a -= 10;

 

trace(a);

 

[결과: output창]

 

0

 

========================================================

 

a -= 10; 은 a 변수의 값에서 10을 빼고, 뺀 결과값을 a 변수에 다시 대입하라는 말입니다.

a = a - 10; 과 같은 의미입니다.

 

 

 

================== [ 예제 3 ] ===========================

 

a = 10;

a *= 10;

 

trace(a);

 

[결과: output창]

 

100

 

========================================================

 

a *=10; 은 a 변수의 값을 10으로 곱하고, 곱해진 결과 값을 다시 a 변수에 대입하라는 말입니다.

a = a * 10; 과 같은 의미입니다.

 

================== [ 예제 4 ] ===========================

 

a = 10;

a /= 10;

 

trace(a);

 

[결과: output창]

 

1

 

========================================================

 

a /= 10; 은 a 변수의 값을 10으로 나누고, 나눠진 결과값을 다시 a 변수에 대입하라는 말입니다.

a = a / 10; 과 같은 의미입니다.

 

================== [ 예제 5 ] ===========================

 

a = 10;

a %= 3;

 

trace(a);

 

[결과: output창]

 

1

 

========================================================

 

a %= 3; 은 a 변수의 값을 3으로 나눠서 나머지를 구하고, 그 나머지 값을 a 변수에 대입하라는 말입니다.

a = a % 3; 과 같은 의미입니다.

 

================== [ 예제 6 ] ===========================

 

a = 0;

a ^= 1;

 

trace(a);

 

[결과: output창]

 

1

 

========================================================

 

a ^= 1; 은 a 변수에 ^(Xor)연산을 하고, 결과값을 다시 a 변수에 대입하라는 말입니다.

a = a ^ 1; 과 같은 의미입니다.

예제 6에서 사용된 ^(Xor)연산자는 현재 a 변수의 값이 0이면 1로 바꾸고, 1이면 0으로 다시 바꾸는 연산을 합니다.

 

(참고) ^ 연산자는 논리연산자 파트에서 자세히 설명드립니다.

 

더하기.

 

===============================

 

a = 0;

b = 10;

a++;

b--;

trace(a);

trace(b);

 

[결과 :  output  창]

 

1

9

 

===============================

 

a++  은 a = a + 1과 같은 의미이며 a+=1;과 같은 의미이다.

b-- 는 b = b - 1과 같은 의미이며 b-=1; 과 같은 의미이다.

 

원본 위치 <http://yawoong.com/board/view.php?id=tutorial_choi&no=39>

 


========================================================

aaa  |= 1; 현재 가지고 있는 값에 값을 더한다.

#include "stdafx.h"

#include <iostream>

using namespace std;

 

int _tmain(int argc, _TCHAR* argv[])

{

int aaa = 0;

 

aaa |= 1;                cout << "aaa: " << aaa << endl;

aaa |= 2;                cout << "aaa: " << aaa << endl;

aaa |= 4;                cout << "aaa: " << aaa << endl;

aaa |= 8;                cout << "aaa: " << aaa << endl;
aaa |= 16;              cout << "aaa: " << aaa << endl;

aaa |= 32;              cout << "aaa: " << aaa << endl;

aaa |= 64;              cout << "aaa: " << aaa << endl;

aaa |= 128;            cout << "aaa: " << aaa << endl;

 

return 0;

}

'Programming > C/C++' 카테고리의 다른 글

[C/C++] 문자열 라이브러리 함수 구현  (0) 2010.01.13
[C/C++] sprintf  (0) 2010.01.13
[C/C++] 문자열 복사  (0) 2010.01.13
C++ Programming Style Guide-line  (0) 2009.12.19
Posted by 시그v

블로그 이미지
Computer graphics & Programming
시그v

공지사항

Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 받은 트랙백

최근에 달린 댓글

믹시