본문 바로가기

연산자

[C#] 시프트(Shift) 연산자 비트 단위의 데이터연산시 사용합니다. 예를 들어 정수 10은 비트값으로 아래와 같습니다. 00000000 00001010 참고로 32나 64비트에 따라 자리수만큼 표시되어야 하지만 간소화를 위해 16비트로 표시하였습니다. 시프트연산자는 이 비트를 오른쪽으로 혹은 왼쪽으로 0을 채워 밀어주는 역활을 수행 합니다. int i = 10; int leftShift = i > 3; Console.WriteLine("Result : {0} | {1}", leftShift, rightShift); > 표시는 오른쪽 시프트연산자입니다. 이 연산자에 따라 10 (1010)을 왼쪽으로 3개의 비트를 밀면 00000000 01010000 이 되고 이 비트를 10진수 정수로 변환하면 80이 됩니다. 반면 오른쪽으로 3개비트를.. 더보기
[C#] 비트(bit) 연산자 비트 단위의 논리 연산을 수행합니다. int i = 10; int bit_and = i & 3; int bit_or = i | 3; int bit_xor = i ^ 3; int bit_not = ~i; Console.WriteLine("Result : {0} | {1}", bit_xor, bit_not); & 는 and 연산으로서 같은 값인것만 1로 처리합니다. 그래서 10의 값이 1010과 3의 값인 0011을 연산하면 1010 0011 ---- 0010 이 되어 결과는 3이 됩니다. | 는 or 연산입니다. 따라서 둘중 어느 하나라도 1이 있으면 결과는 1이 됩니다. 1010 0011 ---- 1011 ^ 는 Xor 연산으로 둘의 값이 1이든 0이든 서로 틀려야만 1이 됩니다. 1010 0011 --.. 더보기
[C#] ?? 연산자 null 조건을 처리할 수 있는 연산자로 ?? 가 있습니다. 예를 들어 아래와 같은 코드는 string s = null; if (s == null) Console.WriteLine("NULL"); 다음과 같이 수정될 수 있습니다. string s = null; Console.WriteLine(s ?? "NULL"); 더보기
[Visual C++] 연산자 산술연산자 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 % 나머지 예) int result = 3 + 4; 증감연산자 ++ 1증가 -- 1감소 피연산자가 하나만 있는 단항연산자로 ++a; 처럼 사용되는 경우 선증가, a++; 처럼 사용되는 경우 후증가 연산을 수행합니다. 쉬프트 연산자 오른쪽으로 비트 이동int i = 10; int j = i 결과 참고로 ^ 연산자는 피연산자중 단 하나만 참(true)의 값을 가져야만 참이 되는 연산입니다. 0011 0010 ---- ^ 0001 관계연산자 = 왼쪽이 오른쪽보다 크거나 같다. == 같다. != 다른다. 연산의 결과가 0이면 false, 1이면 true 대입연산자 = 오른쪽 값을 왼쪽에 대입 += 오른쪽 값을 왼쪽에 더함 -= 오른쪽 값을 왼쪽값에 감산 *= 오른.. 더보기