* 다음 예제를 통해 결과값을 출력해보고.. 어떤 연산자인지 알아보자
#include <stdio.h>
int main(void)
{
int n1 = 3, n2 = 7;
printf("%d + %d = %d\n", n1, n2, n1 + n2); // 더하기
printf("%d - %d = %d\n", n1, n2, n1 - n2); // 빼기
printf("%d * %d = %d\n", n1, n2, n1 * n2); // 곱하기
printf("%d / %d = %d\n", n1, n2, n1 / n2); // 나누기
printf("%d %c %d = %d\n", n1, 0x25, n2, n1 % n2); // 두수를 나눈 후 , 나머지 값 구하기
n1 += n1; // n1 = n1 + n1; // 두 수를 더해서 , n1 에 넣기
printf("n1 = %d\n", n1);
n2 -= n1; // n2 = n2 - n1; // 두 수를 빼서 , n2 에 넣기
printf("n2 = %d\n", n2);
n1 += n1; // n1 = n1 + n1;
n1 *= n2; // n1 = n1 * n2; // 두 수를 곱해서 , n1 에 넣기
printf("n1 = %d\n", n1);
return 0;
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<논리연산자 예제>
참이냐.. 거짓이냐... 판별할때 쓰는 거지...
1이상의 양수이면 - 참 , 즉 1로 셋팅
0이거나 음수이면 - 거짓 , 즉 0으로 셋팅
#include <stdio.h>
int main(void)
{
int n1 = 11, n2 = 5;
printf("n1 AND n2 = %d\n", n1 & n2); // 참 & 참 = 참.... 참참참...
printf("n1 OR n2 = %d\n", n1 | n2); // 참 | 참 = 참...
printf("n1 XOR n2 = %d\n", n1 ^ n2); // 참 ^ 참 = 거짓...
printf(" NOT n2 = %d\n", ~ n2); // ~참 = 거짓...
printf("n1 << 2 = %d\n", n1 << 2);
printf("(n1 << 2) >> 3 = %d\n", (n1 << 2) >> 3); // 둘 다 쉬프트 연산자
return 0;
}
<논리표>
AND (&) |
| OR ( | ) |
||||
A 값 |
B 값 | 연산결과 |
| A 값 | B 값 | 연산결과 |
0 | 0 | 0 |
| 0 | 0 | 0 |
0 | 1 | 0 |
| 0 | 1 | 1 |
1 | 0 | 0 |
| 1 | 0 | 1 |
1 |
1 | 1 |
| 1 | 1 | 1 |
XOR (^) |
| NOT (~) | ||||
A 값 | B 값 | 연산결과 |
| 값 | ||
0 | 0 | 0 |
|
| 0 | 1 |
0 | 1 | 1 |
|
| 1 | 0 |
1 | 0 | 1 |
| |||
1 | 1 | 0 |
|
* 쉬프트
n1 << 2 : bit 를 좌측으로 2칸 밀어라
|
|
|
|
|
|
| |
0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
일 때,, 좌측으로 2칸 밀면,
|
|
|
|
|
|
| |
0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
즉, (n은 쉬프트 하는 횟수 대입하면 됨) 만큼 값이 커짐을 알 수 있다.
(노란색 부분은 빈칸으로 자동으로 0이 대입됨)
++++++++++++++++++++++++++++++++
n2 >> 3 : bit 를 우측으로 3칸 밀어라
그럼 우측으로 밀때는??
반대겠죠...??
만큼 값이 작아집니다
그럼 뒤에 값이 들어있다면, 값이 짤릴수도 있겠네요..
'C언어 기초 > 01주차' 카테고리의 다른 글
난수 생성 코드작성 해보기 (0) | 2017.02.08 |
---|---|
리눅스 내 한글사용을 위한 패치 (0) | 2017.02.08 |
리눅스 사용 - 기초문법 과 vi 사용하기 (0) | 2017.02.08 |
변수에 대하여.. 선언시 규칙 (0) | 2017.02.03 |
overflow 와 underflow 에 대하여.. (1) | 2017.02.02 |