제목이 약간 잘못되었습니다. 기본적으로 여러 가지 형식의 거대한 목록에 수많은 숫자가 있습니다. 나는 그 값과 타입을 전달하고 그것들을 풀어서 HEX 문자열로 변환 할 것으로 예상된다.튜블을 알 수없는 형식의 16 진수로 변환
내 최신 시도는 다음과 같습니다 realVal이 수의 실제 값 인 16 진수 있어야하는데, 내 나중에 코드에서 사용되는
realVal = '0x%08x' % struct.unpack(evalType, (rawVal))
. evalType은 숫자 rawVal의 코드 문자 유형이며 rawVal은 바이너리 파일에서 직접 추출 된 원시 값입니다. evalType은 사전을 보면 알 수 있습니다. 그러나 값이 부동 소수점 일 때, 중단됩니다. 그러나 처음 100K 경우에는 값이 정수 인 곳에서 실행됩니다. 오류에 따라,
realVal = '0x%08x' % int (struct.unpack(evalType, (rawVal)))
을하지만, 분명히 struct.unpack (evalType는, (rawVal가))는 touple이기 때문에 그것은 작동하지 않습니다
그래서 내가 수행하여 첫 번째 정수로 값을 변환하려고 메시지. ,realVal = struct.unpack(evalType, (rawVal)).hex()
나는 값이 부동 알고 때
또한, 나는 진수로 부동 소수점으로 변환하는 것은 float.hex()에 의해 수행 될 수 있다는 것을 발견 그래서 if 문에 추가하고 나는 시도 그것은 깨지고 touples은 .hex() 함수를 가지고 있지 않다고 말한다.
이제 내가 touple로 작업하고 있다는 것을 알았습니다. 내부 값이 정수이고 float 일 때 왜 충돌하는지, 그리고 어떻게 고쳐야하는지 왜 잘 작동하는지 궁금합니다.
일부 예제 입력과 예제 출력은 유용 할 것입니다 ... –