Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 이러한 종류의 float가 정확한 소수점 이하 자릿수를 가져옵니다.

<시간/>

이러한 종류의 부동 소수점이 정확한 소수점 이하 자릿수를 얻으려면 Python Numpy에서 numpy.finfo() 메서드의precision 속성을 사용하십시오. finfo()의 첫 번째 매개변수는 float, 즉 정보를 가져올 float 데이터 유형의 종류입니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

numpy를 np로 가져오기

float16 유형을 확인 중입니다. 정밀도는 대략적인 소수 자릿수를 얻는 것입니다. iexpis는 지수 부분의 비트 수를 가져옵니다. min은 주어진 dtype의 최소값입니다. 최대값은 주어진 dtype의 최소값입니다 -

a =np.finfo(np.float16(45.976))print("대략적인 소수 자릿수를 구하는 정밀도...\n",a.precision)print("지수 부분의 비트 수 ...\n",a.iexp)print("float16 유형의 최소...\n",a.min)print("float16 유형의 최대...\n",a.max)

float32 유형 확인 -

b =np.finfo(np.float32(22.3))print("\n대략적인 소수 자릿수를 얻기 위한 정밀도...\n",a.precision)print("지수의 비트 수 부분...\n",b.iexp)print("float32 유형의 최소...\n",b.min)print("float32 유형의 최대...\n",b.max) 

float 유형 확인 -

c =np.finfo(np.float64(29.2))print("\n대략적인 소수 자릿수를 얻기 위한 정밀도...\n",a.precision)print("지수의 비트 수 부분...\n",c.iexp)print("float64 유형의 최소...\n",c.min)print("float64 유형의 최대...\n",c.max) 

예시

import numpy as np# 이런 종류의 float가 정확한 십진수를 얻으려면 Python에서 numpy.finfo() 메서드의 정밀도 속성을 사용합니다. Numpy# finfo()의 첫 번째 매개변수는 다음과 같습니다. float 즉, 정보를 얻기 위한 float 데이터 유형의 종류입니다.# Checking for float16 typea =np.finfo(np.float16(45.976))print("대략적인 소수 자릿수를 얻기 위한 정밀도...\n" ,a.precision)print("지수 부분의 비트 수...\n",a.iexp)print("float16 유형의 최소...\n",a.min)print("최대 float16 type...\n",a.max)# float32 확인 중 typeb =np.finfo(np.float32(22.3))print("\n대략적인 소수 자릿수를 얻기 위한 정밀도...\n", a.precision)print("지수 부분의 비트 수...\n",b.iexp)print("float32 유형의 최소값...\n",b.min)print("float32 유형의 최대값 ...\n",b.max)# float type을 확인 중입니다.c =np.finfo(np.float64(29.2))print("\n대략적인 소수 자릿수를 얻기 위한 정밀도입니다. ..\n",a.precision)print("지수 부분의 비트 수...\n",c.iexp)print("float64 유형의 최소...\n",c.min)print ("float64 유형의 최대값...\n",c.max)

출력

대략적인 소수 자릿수를 구하는 정밀도...3지수 부분의 비트 수...5float16 유형의 최소...-65500.0float16 유형의 최대...65500.0대략적인 숫자를 구하는 정밀도 소수점 이하 자릿수...3지수 부분의 비트 수...8float32 형식의 최소...-3.4028235e+38float32 형식의 최대...3.4028235e+38십진수의 대략적인 수를 얻기 위한 정밀도... 3지수 부분의 비트 수...11float64 유형의 최소...-1.7976931348623157e+308float64 유형의 최대...1.7976931348623157e+308