본문 바로가기

C계열/C#

bool에 대하여

bool문은 내가 배우면서도 왜쓰나 싶은 구석이 있는 명령어였다. 

 

사실 if문이나 while, for 문만 갖추어도 왠만한 반복이나 조건들을 해결할 수 있다.

 

그래서 bool문을 쓰는 일은 없을 줄 알았지만 굉장히 의외의 장소에서 bool을 쓰게 되었다.

 

2020/01/24 - [C계열/C#] - [C#] 히스토그램으로 동일 이미지 판별하기

 

[C#] 히스토그램으로 동일 이미지 판별하기

먼저 히스토그램은 그림을 구성하는 각 화소점들의 갯수를 카운트한 것이다. 즉, 100이란 그림이 있을 때 그 100이란 그림을 구성하고 있는 화소점들이 0~255까지 값을 갖고 있는데 그 0~255가 각각 몇개인지 세는..

parading.tistory.com

위의 히스토그램의 대조를 쓰다보면 for문안에 for문을 쓰는 일이 벌어지고 

 

if문이 2개 이상의 for문 안에 들어가 판별해야 하는 일이 생긴다. 

 

for(int i=0;i<256;i++)
{
    (대충 전체 영역을 비교하는 명령어)
    
    if(히스토그램이 같다면)
    {
        for(int k=0;k<256;k++)
     {
         (대충 1/4영역을 비교하는 명령어)
                  
     }
     (대충 이미지를 출력하는 명령어)
      
    }else
    {
        return;
    }

 
}

위의 명령어에 따르면 대충 이미지를 출력하는 명령어가 매우 많이 실행될 가능성이 있다.

 

적어도 255번 이상은 중복 실행된다는 것인데 이러면 당연히 컴퓨터가 힘들어한다;;

 

이럴때 bool을 써서 빠져나오는게 좋다. 

 

bool은 함수단위로 적용되기 때문에 일단 bool=false를 걸어놓고 시작하고

 

특정한 조건을 통과할때 bool=true로 풀어주면 된다. 

 

if(bool=ture)로 조건문을 걸어주면 쉽게 해결!

 

bool은 ture와 false이 2가지만 조건이 있는게 아니다. 숫자로도 사용이 가능한데

 

Switch, case문처럼 다양한 결과값을 함수내에서 보다 자유롭게 당겨쓸 수 있다.