부동 소수점 숫자는 컴퓨터에서 부동 소수점 숫자의 기본 배정밀도(64비트)로 표현됩니다. 약 17자리의 정밀도와 -308부터 308까지의 지수를 제공합니다. C언어의 double형과 같습니다. Python은 32비트 단정밀도 부동 소수점 숫자를 지원하지 않습니다. 프로그램에서 간격과 수치 정밀도에 대한 정밀한 제어가 필요한 경우 numpy 확장 라이브러리 사용을 고려해보세요.
Python 3.X는 부동 소수점 숫자에 대해 기본적으로 17자리의 정밀도를 제공합니다.
단정밀도와 배정밀도에 대한 인기 있는 설명:
# 🎜🎜#단정밀도 및 배정밀도 유형의 유형 지정자는 부동 소수점 단정밀도 지정자와 배정밀도 지정자입니다. Turbo C에서 단정밀도 유형은 4바이트(32비트)의 메모리 공간을 차지하고 값 범위는 3.4E-38~3.4E+38이며 유효 숫자 7개만 제공할 수 있습니다. 배정밀도 유형은 8바이트(64비트)의 메모리 공간을 차지하고 값 범위는 1.7E-308~1.7E+308이며 유효 숫자 16자리를 제공할 수 있습니다.정밀도 분석에 17자리 이상의 정밀도가 필요함
Python의 기본값은 소수점 이하 17자리이지만, 여기에 질문이 있습니다. 즉, 계산에 더 높은 정밀도(소수점 17자리 이상)를 사용해야 하는 경우 어떻게 해야 합니까?1. 서식 사용(권장하지 않음)
>>> a = "%.30f" % (1/3) >>> a '0.333333333333333314829616256247'
2. 높은 정밀도의 십진 모듈을 사용하고 getcontext
>>> from decimal import * >>> print(getcontext()) Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow]) >>> getcontext().prec = 50 >>> b = Decimal(1)/Decimal(3) >>> b Decimal('0.33333333333333333333333333333333333333333333333333') >>> c = Decimal(1)/Decimal(17) >>> c Decimal('0.058823529411764705882352941176470588235294117647059') >>> float(c) 0.058823529411764705
위 내용은 Python의 부동 소수점 숫자는 몇 바이트를 차지합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!