불리언 연산이 필요할 때 C언어에서는 True False 값이 존재하지 않아서 그 연산을 0과 1로 대체한거 맞지?
내가 알기로는 그게 메모리 절약과 관련있는걸로 아는데
정말로 그렇더라면 [현대 언어]들은 왜 다 True False를 쓰는거임?
메모리 절약이 아닌건가?
[0][1] 두글차 칠 시간에 True False 쓰려면 손도 많이가는데
불리얼 연산에 쓰일 True False 차원? 을 만들기위해 변수타입 하나를 더 늘려야 되잖아
어차피 Xor이나 Nand 같은거는 함수의 영역이니까 직접 만들수도 있을거고
귀찮은 사람들을 위해 미리 만들어놓은 라이브러리를 다른사람들 쓰라고 퍼줄수도 있고
직접 만든 함수중에 무식하게? 만든 함수들은 메모리 최적화도 잘된다고 하던데
왜 굳이 'True' 'False'를 따로 쓰는거임?
최적화는 그렇게 크게 영향없고 타입을 구분하려고 나누는거
최적화도 굳이 따지면 빨라지는쪽임
아 저게 더 빠르구나
메모리 절약도 아니고 부울형이 따로 있고 그걸 if문 적용해서 C는 if a = 0를 오류로 못찾지만 자바는 가능함
ㅇㅎ 적용의 불편함이구나
아 그리고 부울형 있는거는 C가 아니라 C++일걸?
if(a = b)는 a = b와 if(b)를 합쳐놓은 효율적인 문장이지 - dc Cpp
도입 목적은 아니지만 메모리 절약 효과도 있지 c++ bool형 vector 컨테이너는 각 비트마다 값을 할당하는식으로 메모리 최적화하는것처럼
아 검색해봤는데 아예 비트연산을 해버려서 최적화가 되나보네 신기하다
실수하지 말라고
어 그럴수도 있겠네, 현대언어면
분석하기 안 좋음
c == 1일때 1임을 검사하는건지 true를 검사하는건지 알수가없잖음
C에도 bool 있음 stdbool.h 헤더 쓰면 됨
아 C99에 나온건데 내가 모르면서 말했네, 정보 ㄳ
int형 변수를 0, 1만 담을 용도로 쓰기엔 너무 메모리 낭비같음
아 그래서 느리구나 왜 이생각을 못했지