1(true, 참) 또는 0(false, 거짓) 이 입력되었을 때
반대로 출력하는 프로그램을 작성해보자.
참고
C언어에서 비교/관계 연산(==, !=, >, <, >=, <=)이 수행될 때,
0은 거짓(false)으로 인식되고, 0이 아닌 모든 수는 참(true)으로 인식된다.
참 또는 거짓의 논리값을 역(반대)으로 바꾸기 위해서는
논리(logical)연산자 !를 사용할 수 있다.
이러한 논리연산을 NOT 연산이라고도 부르고,
프라임(기호 오른쪽에 따옴표) 이나 바(기호 위에 가로 막대)로 표시하고,
집합 기호로는 c (여집합, complement)를 의미한다. 모두 같은 의미이다.
참, 거짓의 논리값(boolean value)인 불 값을 다루어주는 논리연산자는
!(not), &&(and), ||(or) 이 있다.
** 불 대수(boolean algebra)는 수학자 불이 만들어낸 것으로
참/거짓만 가지는 논리값과 그 연산을 다룬다.
예시
printf("%d", !0); //거짓의 반대, 즉 참인 1로 계산됨
printf("%d", !1); //참의 반대, 즉 거짓인 0으로 계산됨
printf("%d", !999); //참의 반대, 즉 거짓인 0으로 계산됨
어떤 변수 a에, !a 와 같은 논리 연산이 가능하다.
728x90
반응형
https://codeup.kr/problem.php?id=1053
[기초-논리연산] 참 거짓 바꾸기(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
문제 분류 : 기초2. 입출력문 및 연산자
문제 설명
입력
정수 1개가 입력된다.(단, 0 또는 1 만 입력된다.)
출력
입력된 값이 0이면 1, 1이면 0을 출력한다.
입력 예시
1
출력 예시
0
도움말
내 답안
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int iNum = sc.nextInt();
if(iNum == 0) {
System.out.print(1);
}else if(iNum == 1){
System.out.print(0);
}
}
}
728x90
반응형
'알고리즘 > [코드업] 기초 100제' 카테고리의 다른 글
[JAVA] CodeUp 1055 : [기초-논리연산] 하나라도 참이면 참 출력하기(설명) (0) | 2021.07.29 |
---|---|
[JAVA] CodeUp 1054 : [기초-논리연산] 둘 다 참일 경우만 참 출력하기(설명) (0) | 2021.07.29 |
[JAVA] CodeUp 1052 : [기초-비교연산] 두 정수 입력받아 비교하기4(설명) (0) | 2021.07.29 |
[JAVA] CodeUp 1051 : [기초-비교연산] 두 정수 입력받아 비교하기3(설명) (0) | 2021.07.29 |
[JAVA] CodeUp 1050 : [기초-비교연산] 두 정수 입력받아 비교하기2(설명) (0) | 2021.07.29 |