ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 비트연산자, 함수포인터, ctime
    @ 16. 1 ~ 17. 1/C++ 2013. 1. 27. 02:02

    비트연산자

    이항연산자를 이용하여(변수에 대입한 정수도 가능하다.) 하면된다.

    반드시 정수여야 한다. 실수는 안된다!

    예)

    int num1 = 2 // 0000 0000 0000 0010

    int num2 = 6 // 0000 0000 0000 0110

    이렇게 있으면 비트연산자를 이용하여

     

    & 이것은..곱하기로 생각하면된다 !

    난 쉽게 이해하려 ...없다 그냥 곱하기로 이해했다..ㅠ

        0000 0000 0000 0010

    &  0000 0000 0000 0110

    ----------------------

        0000 0000 0000 0010

    이렇게 된다는 것!

     

    | 이것은 음..더하기의 + 세로 모양하고 같아서 이걸보면 더하는거야..라고 이해함..:) 좀 더 쉽게 이해되었음

    근데 1+1 도 1이라는거..;

        0000 0000 0000 0010

    |   0000 0000 0000 0110

    ----------------------

        0000 0000 0000 0110

    이렇게 된다는 것!

     

    그럼 ^ 이거와 ~ 이것은..?

    ^ 이것은 - 빼기가 구부러진 모양이라고 이해함..:) 본인은 쉽게 이해됨;

    1-1 빼면..0이고..1 - 0뺴면..다시 1이고..

    근데 0 - 1 도..1이라는거 부호가 없는걸로...ㅎ

        0000 0000 0000 0010

    ^   0000 0000 0000 0110

    ----------------------

        0000 0000 0000 0100

     

    ~ 이것은 1을 0으로 0을 1로..

     


     

    함수포인터란..

    함수를 가르킬수 있는 포인터라는거..

     

    어떤 모양이냐면..

     

    이런 함수가 있다 하면..

     

    int Func(int num) {}

    반환값과 매개변수가 저렇게 있다면..

     

    int (*Funcptr) (int num);

    이렇게 변수를 선언할 수 있다는것..

    위에 것은 이상해보여도 변수임..함수를 가르킬수 있는 함수포인터 변수

     

    반환형과 매개변수는 같게 표현하고.. 안에(* 변수명)으로 해주면됨..

    예)

    double Func(double num1) {}  이것은??

    double (*asdfsd) (double num3); 이것으로 가르킬수 있다는 것..

     

    이때 매개변수는 형만 나타내도 된다는것..

    int (*Func) (int) 이렇게..

    자 그럼 어떻게 사용하냐면....일반 포인터 변수와 같다.

     

    void Showdata() {}

    void (*Funcptr) ();

    Funcptr=Showdata;

    Funcptr();

    함수 이름 자체가 주소를 나타내기 때문에..&이런건 생략해도됨.

     

    이건 기억이 안나서 정리..

     


    미친..clock_t curtime;시!

    curtime = clock();  할때! 그 당시 시간넣는다느.ㄴ..ㅠㅠ 멍청한 소리를 하고 있네...

    시간이 계속 올라가는게 아니아ㅓㅁㅇ라ㅣㅓㄴ마ㅣㅇㄹ 으악!!

    '@ 16. 1 ~ 17. 1 > C++' 카테고리의 다른 글

    Template (2) 클래스 템플릿  (0) 2013.01.29
    Template (1) 함수 템플릿  (0) 2013.01.29
    잊기전 정리..  (1) 2013.01.17
    파일 입출력 관련  (0) 2013.01.13
    복사생성자의 호출시점  (0) 2013.01.01
Designed by Tistory.