입력을 응용해서 값을 입력 받고, 두 수를 비교해 큰 수를 출력
대입연산자와 다른 연산자가 함께 쓰임
마스크 : 특정 비트를 가리고 몇 개의 비트 값만 사용할 때
비트 켜기 : 특정 비트들만을 1로 설정해서 사용하고 싶을 때
ex. & 00001111(하위 4비트 중 1인 비트만 꺼내기)
00000101 -> 10진수 5를
00001111 -> 1111로 &(AND)연산 하면 결과가
00000101 -> 그대로 출력됨
비트 끄기 : 특정 비트들만을 0으로 설정해서 사용하고 싶을 때
ex. | 11110000(하위 4비트 중 0인 비트만 0으로 만들기)
00000101 -> 10진수 5를
0000000 -> 0000로 &(AND)연산 하면 결과가
0000000 -> 0000으로 출력(off)됨
비트 토글 : 모든 비트들을 0은 1로, 1은 0으로 바꾸고 싶을 때
예제
&(AND)
00000101 (십진수 5)
00001010 (십진수 10) -> 이 두가지를 &(AND) 연산 하면
00000000 -> 이 나옴
|(OR)
00000101 (5)
00001010 (10)-> 이 두가지를 |(OR)연산 하면
00001111 (15) -> 이 나옴
^(XOR)
00000101 (5)
00001010 (10)-> 이 두가지를 ^(XOR)연산 하면
00001111 (15)-> 이 나옴 (XOR는 서로 다를 때 1이 출력됨으로)
~(NOT)
00000101 (5) -> ~(NOT)으로 연산하면
11111010 -> 반전되서 나옴(맨 앞자리가 1이면 음수)
<<(SHIFT)
00000101 (5) -> 이 수를 <<1(왼쪽으로 1칸 SHIFT 하면
00001010 (10) -> 왼쪽으로 한자리씩 밀려서 10이 됨(5x2의 1승과 같음)
00010100 (20) -> 왼쪽으로 2자리씩 밀면 5가 20이 됨(5x2의 2승과 같음)
, 반대로 >>(우측으로 SHIFT하면 나누기)
위의 우선순위는 따로 외울필요 없이, 자주 사용하다 보면 자연스럽게 익히게 된다. 그러나, 가독성을 위해 괄호를 적절히 사용하는 것은 알아두어야 한다.
오늘의 공부 소감(13.) :
정보처리 기능사 필기 시험에서 공부한 내용들이 이 단원을 이해하는데 많은 도움이 되었다.
주어진 조건에 따라 다른 실행이 이루어 지도록 구현
'재산이 1억 이상이면 100만원을 세금으로 낸다. 그렇지 않으면 내지 않는다'를 구현 한다면
만약에(재산이 1억 이상이면) {
세금을 100만원 낸다
}
그렇지 않으면 {
세금을 내지 않는다
}
if문법
if(조건식){
수행문; // 조건식이 '참'인 경우에(조건에 맞는 경우) 수행문이 수행됨
} // 조건식이 '참'이 아니면(조건에 맞지 않는 경우) 수행문이 수행되지 않음
if( 조건식) {
수행문1; // 조건식이 '참'인 경우에 수행됨
}
else{
수행문2; // 조건식이 '참'이 아닌 경우에 수행됨
}
항상 indentation(들여쓰기)에 신경써야한다
오늘의 공부 소감(14.) :
if - else문으로 짠 프로그래밍이 실제에선 어떻게 활용되는지 보고 싶다...
if(조건식1){
수행문1; // 조건식1이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식2){
수행문2; // 조건식2이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else if(조건식3){
수행문3; // 조건식3이 '참'인 경우 수행하고 전체 조건문을 빠져나감
}
else{
수행문4; // 위 조건이 모두 해당되지 않는 경우 수행됨 (디폴트 조건)
}
수행문5; // if-else if-else 문이 끝나면 수행됨
가령 조건식2가 만족되면 수행문2 -> 수행문5 순으로 수행됨
위 예제를 순서대로 나타내면 아래와 같다
예제
하나의 상황에 여러가지 조건을 비교할 때 사용한다.
if-else if문을 사용하는 경우, 하나의 조건이 만족 되면 나마지 else if부분은 수행되지 않음
if-if로 사용하게 되면 각각 다른 조건문으로 해석되어 각각 수행하게 됨
(아래 예제는)위 else-if 예제를 모두 if-if로 바꾸어 본 것
if-if 각각의 조건을 하나씩(별개로, 여러 상황에서) 따져가며 내려간다.
오늘의 공부 소감(.15) :
if-else, if-if 문이 상당히 재미있다. 응용해서 프로그래밍해보고 싶다.