매크로

질문
2016.06.24 00:29

비활성클릭 질문

조회 수 215 추천 0 댓글 5

그냥 복불해서 써도 되겠지만 정확하게 알고싶습니다


lparam := x좌표|y좌표<<16


제가 찾아본 것으로는 lparam 총 32비트에 상위16비트에 x좌표가 들어가고 하위16비트에 y좌표가 들어간다고 봤거든요


그리고 오핫문법에서는 | 은 비트에서 or 기능을 한다고 봤습니다.


<<는 왼쪽으로 비트이동 이라고 설명되어 있고 기능은 저 위엣걸 예로 들자면 16의 제곱만큼을 앞의 값에 곱하므로써 왼쪽으로 비

트이동과 동일한 작용을 한다고 봤습니다.


질문 1. 위에 쓴 제가 이해한게 맞습니까? 틀린게 있습니까?


2. <<16 을 쓰므로써 16비트 값을 구할 수 있는겁니까?


3. 2가 맞다면 16대신 32를 넣으면 32비트 값이 구해지는 겁니까?


3. x좌표|y좌표 이건 결국 x좌표 or y좌표 아닌가요? 그거랑 <<랑 어떻게 계산이 되는겁니까? 각각 계산하게 되나요?


  • profile
    와이로 2016.06.24 11:26
    a := 1|(1<<1)  ;괄호는 연산 우선순위를 보여주기 위해 넣었습니다.
    MsgBox % a
    ;0000 0001 < 왼쪽1
    ;0000 0010 < 오른쪽 (1<<1) - 0000 0001 을 좌측 시프트 1회
    ;0000 0011 < 비트OR 연산 결과

    a := 1|(1<<2)
    MsgBox % a
    ;0000 0001 < 왼쪽1
    ;0000 0100 < 오른쪽 (1<<2) - 0000 0001 을 좌측 시프트 2회
    ;0000 0101 < 비트OR 연산 결과

  • 슉슉이 2016.06.24 13:26
    아무생각없이 되니깐 그냥 썼었는데 이런식으로 인식하는 거였군요.

    ARGB색값 가져오면 숫자들이 막 있던데 느낌상 같은 원리인 것 같네요.

    뭔가 나중에 유용항게 이용할 수 있을 것같습니다.
  • 왜6자냐 2016.06.24 23:12
    그런식으로 계산하는거군요. 감사합니다
    혹시 제가 이해한것중 틀린 것은 있나요?
  • profile
    와이로 2016.06.25 11:49
    

    lparam := x좌표|y좌표<<16

    제가 찾아본 것으로는 lparam 총 32비트에 상위16비트에 x좌표가 들어가고 하위16비트에 y좌표가 들어간다고 봤거든요
    그리고 오핫문법에서는 | 은 비트에서 or 기능을 한다고 봤습니다.
    <<는 왼쪽으로 비트이동 이라고 설명되어 있고 기능은 저 위엣걸 예로 들자면 16의 제곱만큼을 앞의 값에 곱하므로써 왼쪽으로 비
    트이동과 동일한 작용을 한다고 봤습니다.

    1. 위에 쓴 제가 이해한게 맞습니까? 틀린게 있습니까?
    상위 16비트에는 y좌표가 들어가고 하위 16비트에는 x좌표가 들어갑니다.

     

    2. <<16 을 쓰므로써 16비트 값을 구할 수 있는겁니까?
    좌시프트 연산은 y값의 2진값 꽁무니에 0을 16개 추가시키는 역할만 합니다.

     

    3. 2가 맞다면 16대신 32를 넣으면 32비트 값이 구해지는 겁니까?
    32비트 좌시프트 하면 y값에 할당된 32비트 공간안에 0만 있게 되므로 y값은 증발한다고 보면 됩니다.

     

    3. x좌표|y좌표 이건 결국 x좌표 or y좌표 아닌가요? 그거랑 <<랑 어떻게 계산이 되는겁니까? 각각 계산하게 되나요?
    'or' 는 x좌표 또는 y좌표 둘중 하나라도 값이 있다면(1이든 10이든 100이든 상관없음)  참이되고 값이 0일경우 거짓입니다.
    '|' 는 비트연산을 위한 별도의 연산자입니다. 조건연산자인 'or' 와 다른점은 적용단위가 비트단위란 것이지요.


    나머지는 이런 코드로 테스트 해가면서 직접 알아보세요.
    ;------------------------------------------------

    y := 5, x := 10

     

    a := x|y<<16
    bin := Dec2Base(a, 2)
    if RegExMatch(bin, "(.*)(\d{16})$", $)
    {
     bin := "y"
     loop % strlen($1)  * 1.7
      bin .= " "
     bin .= "x`n"
     bin .= $1 " " $2
    }

     

    MsgBox % bin

     

    Dec2Base(n, b)
    {
      return (n < b ? "" : Dec2Base(n//b,b)) . ((d:=Mod(n,b)) < 10 ? d : Chr(d+55))
    }

  • 왜6자냐 2016.06.25 14:52
    감사합니다. 덕분에 정규식이랑 그 밖에 많은걸 알고 가네요

List of Articles
분류 제목 글쓴이 최근변경 추천
질문 비활성이미지서치 반복문만 넣으면 써치를 못함.. 3 여행용티슈 2019.12.01 0/0
질문 비활성이미지서치 재질문 3 cho9161 2018.06.18 0/0
자유 비활성이미지서치 중간정리(disp,adb) 11 우후훅 2017.04.03 4/0
질문 비활성이미지서치 질문 3 꾸니야 2017.11.28 0/0
질문 비활성이미지서치(성공)후 원하는 버튼 클릭질문. 2 테일하는병키 2017.10.10 0/0
자유 비활성이미지서치는 꼭 gdip있어야하나요? 1 남구미호 2018.01.19 0/0
질문 비활성이미지서치시 팝업창 이미지 인식 불가 문제 해... 터마 2022.12.14 0/0
질문 비활성이미지서치에서 원하는 좌표값 클릭 3 배우고싶다 2016.09.09 0/0
질문 비활성이미지서치에서 좌표값 인식에 부탁드립니다 2 배우고싶다 2016.09.08 0/0
질문 비활성좌표클릭 질문이여 4 셋쇼마루 2016.05.22 0/0
질문 비활성창 마우스 조작이 안됩니다 2 한유진 2019.05.24 0/0
질문 비활성클릭 관련 질문입니다 3 푸아르 2018.12.07 0/0
질문 비활성클릭 매크로가 일정부분만안됩니다 3 샌드위치 2019.01.21 0/0
질문 비활성클릭 자꾸 몇픽셀아래쪽 찍네요. 7 우후훅 2015.01.20 0/0
질문 비활성클릭 질문 5 왜6자냐 2016.06.25 0/0
질문 비활성클릭 질문드립니다.. 2 큰일이넹 2017.12.21 0/0
질문 비활성클릭 질문합니다 2 PlusK 2016.06.05 0/0
질문 비활성클릭 함수호출이 2번이상안되네요 ㅠㅠ 3 zinco 2016.07.17 0/0
질문 비활성클릭을 사용하면 해당 좌표로 가지 않습니다. 1 구글리스트 2018.01.05 0/0
질문 비활성키입력관련 질문입니다 궁갤 2016.01.21 0/0
Board Pagination Prev 1 ... 979899100101102103104105 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글