XOR 연산 문의입니다.

   조회 3350   추천 0    

제목을 제대로 정한 것이 맞는지 모르겠습니다.

장비와 고급모드(?)로 통신하기 위해서는 명령어에 대한 체크섬을 같이 입력해야 한다고 메뉴얼에 나와있습니다.

7.4번 예시에서 RCTY에 대한 체크섬이 1C라고 되어 있습니다.
다른 4글자 명령어에 1C로 명령어를 넣어보니 오류가 나서, 4글자여서 1C는 아닌 것 같습니다.

7.2의 공식은 C를 기반으로 하는 것 같은데, Python으로 구현하려면 어떻게 해야하는지 알려주시면 감사하겠습니다. 


짧은글 일수록 신중하게.
무아 2021-09
파이썬도 별반 다르지 않은 것 같은데요.
https://technote.kr/199
그냥 ^ 연산자를 사용하면 됩니다.
     
트니아빠 2021-09
흑.. 전송되는 메세지가 RCTY인데.. 어떻게 해야 1C가 나오는지 고민하고 있는 중입니다.
4+8+16=28(1C)는 아닌 것 같아서요...
          
무아 2021-09
R = 0x52
C = 0x43
T = 0x54
Y = 0x59

맞는데요?
               
트니아빠 2021-09
아.. 이제 이해했습니다. 감사합니다.
이일저일 2021-09
>>> crc = 0
>>> for ch in 'RCTY':
...    crc ^= ord(ch)
...
>>> print(crc)
28
>>> print('{0:2X}'.format(crc))
1C
     
트니아빠 2021-09
감사합니다.
epowergate 2021-09
그냥 checksum 계산해주는 함수 사용하셔도 됩니다


QnA
제목Page 979/5723
2015-12   1760278   백메가
2014-05   5233849   정은준1
2019-05   3263   stones
2017-05   3263   Psychophysi…
2018-12   3263   엄마쟤흙먹어
. (7)
2019-11   3263   프링글스
2019-08   3263   developer
2015-12   3263   송진현
2021-06   3263   Mean
2019-09   3263   분노의다운힐
2019-08   3264   인연
2021-03   3264   건약
2020-09   3264   서울사람
2019-12   3264   스린
2020-08   3264   양윤영
2019-04   3264   김건우
2019-03   3264   더로드
2020-12   3265   진신두
2024-03   3265   삐돌이슬픔이
2017-06   3265   song05
2018-12   3265   twopaik
2014-04   3265   EYESSHOT