반응형
파이썬에서 두 배의 정밀 부동값?
float보다 더 정확한 데이터 유형이 있습니까?
Python의 기본 제공float
type은 두 배의 정밀도를 가지고 있습니다(이것은 C입니다).double
자바의 Cython에서.double
이튼에서).더 정확한 정보가 필요하면 NumPy를 가져와 사용합니다.numpy.float128
.
- 하드웨어 기반 이진 부동 소수점과 달리 십진수 모듈에는 사용자가 변경할 수 있는 정밀도(기본값은 28자리)가 있으며 특정 문제에 대해 필요한 만큼 클 수 있습니다.
성능 문제로 인해 압박을 받는 경우 GMPY를 살펴봅니다.
일부 응용 프로그램의 경우 부동 소수점 번호 대신 사용할 수 있습니다.
>>> from fractions import Fraction
>>> Fraction(1, 3**54)
Fraction(1, 58149737003040059690390169)
(다른 애플리케이션의 경우, 다른 응답자들이 제안한 바와 같이 가 있습니다.)
십진법이 필요할 수 있습니다.
>>> from decimal import Decimal
>>> Decimal(2.675)
Decimal('2.67499999999999982236431605997495353221893310546875')
여기 제 해결책이 있습니다.저는 먼저 random.uniform으로 난수를 만들고, 두 배의 정밀도로 문자열로 포맷한 다음 다시 float로 변환합니다.'.2f'를 '.3f' 등으로 변경하여 정밀도를 조정할 수 있습니다.
import random
from decimal import Decimal
GndSpeedHigh = float(format(Decimal(random.uniform(5, 25)), '.2f'))
GndSpeedLow = float(format(Decimal(random.uniform(2, GndSpeedHigh)), '.2f'))
GndSpeedMean = float(Decimal(format(GndSpeedHigh + GndSpeedLow) / 2, '.2f')))
print(GndSpeedMean)
언급URL : https://stackoverflow.com/questions/6663272/double-precision-floating-values-in-python
반응형
'sourcecode' 카테고리의 다른 글
우리가 조건부로 과제를 할 수 있습니까? (0) | 2023.08.31 |
---|---|
도커가 마리아에게 링크를 작성합니다.DB (0) | 2023.08.31 |
AJAX에서 device의 401 상태를 우아하게 처리하려면 어떻게 해야 합니까? (0) | 2023.08.26 |
Iphone UIImageView에서 애니메이션 GIF 이미지 추가 (0) | 2023.08.26 |
도커를 통해 mariadb 연결이 실패하는 이유는 무엇입니까? (0) | 2023.08.26 |