문제

그만큼 struct 모듈은 데이터를 바이너리 형식으로 변환하거나 그 반대로 변환하려고 할 때 유용합니다.그러나 최근에 나는 다음을 사용하는 파일 형식 사양을 발견했습니다. Binary16 부동 소수점 형식.Python 문서를 살펴봤지만 Python 문서로 변환할 수 있는 항목을 찾을 수 없습니다.이 데이터를 Python 부동 소수점으로/에서 변환하는 가장 좋은 방법은 무엇입니까?

도움이 되었습니까?

해결책

당신이 C - I.E.에서 당신이 그것을 할 수있는 것처럼 그것을 할 수 있습니다. 나는 이것을 대략 이처럼 생각합니다 ... :

def tofloat(b16):
  sign = -1 if b16 & 0x8000 else +1
  expo = ( b16 & 0x7C00 ) >> 10
  prec = b16 & 0x03FF
  if expo == 0:
    return sign * (2.0 ** -24) * prec
  elif expo == 0x1F:
    return sign * float('inf')
  prec |= 0x0400
  return sign * (2.0 ** (expo - 25)) * prec
.

다른 팁

이 남자의 블로그 게시물 ^양쪽 및 파이썬의 구현.그는 struct 모듈을 사용하고 수동으로 디코딩합니다.그것은 전환을 복잡하게하는 것은 아닙니다.

빠른 Google 검색이 나타났습니다. http://packages.python.org/bigfloat/ 이는 조작할 수 있는 맥락이 있음을 의미합니다. binary16 부동 소수점 숫자.하지만 나 자신은 패키지에 익숙하지 않기 때문에 사용 방법에 대해 아무 것도 말할 수 없습니다(적어도 설명서에서 직접 읽을 수 있는 것 외에는 아무것도 말할 수 없습니다).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top