KNOU_CS/C
연산자 우선순위
2sac
2024. 3. 13. 19:35
연산자 우선순위
증 ++ --
논 !
비 ~
산 * + -
시 << >>
관 ==
비 & ^
논 &&
삼 (조건식)? a:b
대 = +=
산술연산
#include <stdio.h>
int main()
{
int x=3, y=2;
float z=2.0;
printf("%d %d\n", x%y, y%x);
printf("%d %.2f", x/y, x/z);
}
x%y 는 x를 y로 나눈 나머지 (출력함수에서 이렇게 쓸 수 있다는 걸 보여줌)
쉬프트 연산
#include <stdio.h>
int main()
{
int x = 11;
printf("%d\n", x<<3);
printf("%d", x>>1);
}
1011 -> 1011000 은 88
1011 -> 101은 5
비트연산
#include <stdio.h>
int main()
{
printf("%d\n", 12 & 10);
printf("%d\n", 12 | 10);
printf("%d\n", 12 ^ 10);
printf("%d\n", ~12); // -13 출력, 간단하게 부호를 바꾸고 바꾼 부호의 수로 1을 더한다고 보면 됨.
printf("%d\n", ~1); // -2 출력,
printf("%d\n", ~2); // -3 출력,
printf("%d\n", ~-1); // 0 출력, 양수로 변환도 마찬가지
printf("%d\n", ~-2); // 1 출력,
}
https://st-lab.tistory.com/189
2진수의 수와 음수 표현법 [1의 보수와 2의 보수]
안녕하세요. 오늘은 프로그래밍이 아닌 컴퓨터의 연산에 대해 이해해보고자 합니다. 우리가 흔히 프로그래밍을 할 때는 그나마 사람에 가까운 언어로 된 고급언어들로 작성을 하지만 실제 컴퓨
st-lab.tistory.com
비트연산자
#include <stdio.h>
int main()
{
int x=5, y=3;
printf("%d\n", x>5 && y>=3); // x와 5는 같으므로 거짓, y와 3 비교는 같으므로 참, 거짓&&참 = 거짓
printf("%d", x>5 || y>=3);
}
삼항연산자
#include <stdio.h>
int main()
{
int a = 26, b =91;
int x = a < b ? a : b; //삼항 연산자
printf("%d", x);
}