로 변환하려고합니다,하지만 난 문자열 이해할 수 없다 :파이썬의 코드를 이해할 수 없습니다. 자바
crc^ord (data[idx]) << 8
및
return crc & 0xffff
Actualy을, 나는 만 부분을 이해할 수 없다 < < 8 및 & 0xffff가
전체 기능 :
def calculateCRC (data):
l = len (data)
crc = 0
idx = 0
l = l - 1
while l >= 0 :
crc = crc^ord (data[idx]) << 8
idx = idx + 1
i = 8
while i != 0:
if crc & 0x8000:
crc = crc << 1^0x1021
else:
crc = crc << 1
i = i - 1
l = l - 1
return crc & 0xffff
나는 SO가 nott 무료 코드 번역 서비스임을 알고 있지만 파이썬에 관해 명확한 질문이 있습니다. 그럼. 너 나 좀 도와 줄 수있어?
마스의 샤이 크가 번역을 가지고 있지만, 경우에 당신이 비트에-A-시간 CRC 계산 성능 문제로 실행 단지에 대한 어떤 맛에 대한 바이트에서-A 형 알고리즘이있다 CRC의. 이 방법은 Aram Perez가 1983 년 IEEE Micro의 기사 "Byte-wise CRC Calculations"에 기인 한 것으로 보인다. PDF가 여기 저기에 있습니다. 분명히 http://bitsavers.informatik.uni-stuttgart.de/pdf/fairchild/_appNotes/Byte-wise_CRC_Jun83.pdf –
에서 그 중 하나를 발견했습니다. 분명히이 방법은 그 6 월 '83 년 기사보다 약간 뒤로 돌아갑니다. 분명히 John R. Hill은 1979 년에 테이블 기반 접근 방식을 발표했습니다. 온라인에서 무료 PDF를 찾을 수는 없습니다. –