논리 연산자의 계싼이 언제 0,1 로 출력이 되는건가요?
저는 6번 답을 낼때
0
1
로 냈는데
false
true
이더라구요
그래서 JAVA에서 이렇게 사용하나보구나 , 라고 생각했는데 그다음 장에있는 문제 8번에서는
출력은 하지 않았지만 인식은 0,1 숫자로 하더라구요
c언어에서는 출력도 틀림, 맞음 출력을 0,1로 하는것으로 기억을 하고 있는데
JAVA에서는 출력시에만 숫자가아닌 false , true로 출력이 되는건가요?
안녕하세요 길벗수험서 운영팀입니다.
논리 연산자를 이용하여 계산을 했을때 결과는 true, false 가 나옵니다.
system.out.println(str1==str2);
이런한 코드가 있을때 str1과 str2가 같으면 true 를 출력할 것이고, 아니면 false 가 출력됩니다.
회원님께서 질문하신 아래의 코드 역시 x변수 값의 크기를 비교하여 조건에 만족하면 true 가 출력될것이고, 그렇지 않으면 false가 출력됩니다
System.out.println(!(x > 0));
System.out.println(x > 0 || x < 4);
회원님께서 말씀하신 8번 문제의 경우 아래와 같이 조건연산자 식이 쓰여져 있습니다.
c = b % 5 < 5 ? 1 : 0;
식에서 b % 5 < 5 조건이 사용되었고 출력은 하지 않지만 조건을 비교했을때 만족하면 true, 만족하지 않는다면 false 가 나옵니다.
이때 true가 나온다면 c = b % 5 < 5 ? 1 : 0 ;
바로 뒤에 있는 1이라는 값이 C변수에 저장이 될것이고
그렇지 않으면 c = b % 5 < 5 ? 1 : 0 ;
바로 뒤에 있는 0이라는 값이 C변수에 저장이 될것입니다.
c언어의 경우 불리언 타입이 직접적으로 내장되어 있지 않기 때문에 조건을 비교하여 나오는 true, false 값을 직접 출력을 못합니다.
때문에 true, false 값이 나오더라도 보통 출력서식으로 %d를 사용하여 1, 0으로 출력합니다.
열심히 연습하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :)
-
관리자2024-04-24 19:10:54
안녕하세요 길벗수험서 운영팀입니다.
논리 연산자를 이용하여 계산을 했을때 결과는 true, false 가 나옵니다.
system.out.println(str1==str2);
이런한 코드가 있을때 str1과 str2가 같으면 true 를 출력할 것이고, 아니면 false 가 출력됩니다.
회원님께서 질문하신 아래의 코드 역시 x변수 값의 크기를 비교하여 조건에 만족하면 true 가 출력될것이고, 그렇지 않으면 false가 출력됩니다
System.out.println(!(x > 0));
System.out.println(x > 0 || x < 4);
회원님께서 말씀하신 8번 문제의 경우 아래와 같이 조건연산자 식이 쓰여져 있습니다.
c = b % 5 < 5 ? 1 : 0;
식에서 b % 5 < 5 조건이 사용되었고 출력은 하지 않지만 조건을 비교했을때 만족하면 true, 만족하지 않는다면 false 가 나옵니다.
이때 true가 나온다면 c = b % 5 < 5 ? 1 : 0 ;
바로 뒤에 있는 1이라는 값이 C변수에 저장이 될것이고
그렇지 않으면 c = b % 5 < 5 ? 1 : 0 ;
바로 뒤에 있는 0이라는 값이 C변수에 저장이 될것입니다.
c언어의 경우 불리언 타입이 직접적으로 내장되어 있지 않기 때문에 조건을 비교하여 나오는 true, false 값을 직접 출력을 못합니다.
때문에 true, false 값이 나오더라도 보통 출력서식으로 %d를 사용하여 1, 0으로 출력합니다.
열심히 연습하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :)
-
관리자2024-04-26 11:41:03
안녕하세요 길벗수험서 운영팀입니다.
논리 연산자를 이용하여 계산을 했을때 결과는 true, false 가 나옵니다.
단순하게 예를들어 논리연산을 하면 true, false가 나오는데
이 값을 가지고 산술연산 등을 또 한다면 true는 1로, false는 0으로 만들어 계산을 하는데 이때 나오는 결과는 당연히 숫자가 되겠죠
java의 경우 논리값 true, false 가 출력될 수 있고, 0, 1이 출력될 수 있으니 "출력서식"을 정확하게 봐야합니다.
지난번에 답변을 드렸듯 c언어의 경우 불리언 타입이 직접적으로 내장되어 있지 않기 때문에 조건을 비교하여 나오는 true, false 값을 직접 출력을 못합니다.
때문에 true, false 값이 나오더라도 보통 출력서식으로 %d를 사용하여 1, 0으로 출력합니다.
열심히 연습하셔서 합격하시길 기원하겠습니다.
행복한 하루되세요 :)
-
*2024-04-26 10:31:01
논리연산자의 계산에서도
출력시에만 true, false 가 나오는건가요?
제 기억으로는 식을 계산하는 당시에는 분명 논리연산자도 0,1 로 계산했던것 같은데
특히 2진수로 변환하여 값을 구하거나, 음.. 자세하게 기억은 안나지만 .. 생각해보면 for문 안에 논리 연산자가 많았던것 같긴 합니다만,
논리연산자가 true , false 가 나오는 때는 출력시에만 그런건지요...?
java c 언어 둘다 마찬가지 인가요?