오토핫키 커뮤니티

질문
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
분류 제목 글쓴이 최근변경 추천
질문 폴더 가상화 문의 드려요.. 그까이꺼 2016.07.02 0/0
공유 postmessage 문자열 입력함수 모닝커피 2016.07.02 0/0
질문 브라우저에 비활성화 매크로 가능한가요? 1 장구김 2016.07.09 0/0
질문 공부중인데 ... 포스트메세지에서 5 섬머워 2016.07.09 0/0
질문 gdip 비활성서치 질문드립니다. 3 영창이염 2016.07.04 0/0
질문 이미지 서칭 클릭 좌표 어떻게 설정해야할까요? 4 bleuG 2016.07.09 0/0
질문 블루스택 완전히 종료시키는 명령어좀 부탁드립니당(무... 3 welchs 2016.07.04 0/0
자유 요새 오토핫키로 매크로 만드는 재미에 빠졌어요 3 퓨쥬 2016.08.07 0/0
질문 ahk 윈도부팅시 자동실행되게 시작등록했을때.. 3 검정다람쥐 2016.06.27 0/0
질문 autohotkey unicode 32-bit의 작동이 중지되었습니다 6 땀꾸루즈 2016.07.02 0/0
정보 소개 : CJon class 1 와이로 2016.06.26 2/0
질문 postmessage 명령 질문입니다. 5 왕초보이에으 2016.06.30 0/0
질문 비활성클릭 질문 5 왜6자냐 2016.06.25 0/0
질문 ADB드래그 혹시 명령어 다시한번만 봐주세요 ~ 4 제발등업좀2 2016.07.02 0/0
질문 비활성 이미지서칭 문제..질문입니다. 4 파르페틱 2016.06.22 0/0
질문 루프문 세개를 돌리고싶은데요 1 감성폭발 2016.06.21 0/0
질문 Gdip이미지 서치하고 싶은데 인식이 안됩니다 13 가족오락관 2016.06.25 0/0
질문 ADB (몽키) 클릭 및 드래그관련 ... 5 제발등업좀2 2016.07.02 0/0
질문 비활성화 질문+디버깅 영상 추가(T7GG님 코딩) 6 bleuG 2016.06.26 0/0
질문 오토핫키 멀티쓰레드(?) 3 다홍이 2016.06.20 0/0
Board Pagination Prev 1 ... 114115116117118119120121122 ... 209 Next
/ 209

전체 최신 인기글

전체 주간 인기글