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

파이썬의 10진수 함수

<시간/>

파이썬에는 소수 부동 소수점 관련 작업을 수행하는 데 사용되는 Decimal이라는 모듈이 있습니다. 이 모듈은 올바르게 반올림된 부동 소수점 산술을 제공합니다.

처음에 사용하려면 Decimal 표준 라이브러리 모듈을 가져와야 합니다.

10진수 가져오기

이 섹션에서는 Decimal 모듈의 몇 가지 중요한 기능을 볼 것입니다.

제곱근 함수 sqrt() 및 지수 함수 exp()

sqrt() 메서드는 주어진 십진수 유형 객체의 제곱근을 계산하는 데 사용됩니다. 그리고 exp() 메서드는 주어진 x에 대한 e^x 값을 Decimal 숫자로 반환합니다.

예시 코드

#sqrt() 및 exp() 메서드 수행import decimalmy_dec =decimal.Decimal(25.36)print(my_dec)#십진수의 제곱근 찾기print('제곱근은 ' + str(my_dec.sqrt())) #십진수로 e^x 찾기print('e^x is:' + str(my_dec.exp()))

출력

25.3599999999999994315658113919198513031005859375제곱근:5.035871324805668565859161094e^x:740 

대수 함수

Decimal 모듈에는 몇 가지 로그 함수가 있습니다. 여기에서 우리는 그 중 두 가지에 대해 논의하고 있습니다. 첫 번째는 ln() 메서드입니다. 이 방법은 십진수의 자연 로그를 찾는 데 사용됩니다.

또 다른 방법은 log10() 방법입니다. 이 방법은 밑이 10인 로그 값을 찾는 데 사용됩니다.

예시 코드

#ln() 및 log10() 메서드 수행import decimalmy_dec =decimal.Decimal(25.36)print(my_dec)#기본 eprint('ln(x) is:' + str(my_dec.ln())로 로그 값 찾기 )# 밑이 10인 로그 값 찾기print('log(x) is:' + str(my_dec.log10()))

출력

25.3599999999999994315658113919198513031005859375ln(x):3.233173129569025152000878282log(x):49282log(x):49 

as_tuple() 및 fma() 메서드

as_tuple 메서드는 십진수를 3 튜플로 나타내는 데 사용됩니다. 집단. 요소는 기호, 숫자입니다. 및 지수 값. 숫자가 0일 때 부호 필드에서 소수점은 양수임을 의미합니다. , 1이면 음수를 나타냅니다. 번호.

fma() 메서드는 융합 곱셈 및 더하기로 알려져 있습니다. . fma(x, y)를 사용하면 (숫자 * x) + y를 계산합니다. 이 경우 (숫자*x) 부분은 반올림되지 않습니다.

예시 코드

#as_tuple() 및 fma() 메서드 수행 import decimalmy_dec1 =decimal.Decimal(5.3)print(my_dec1)my_dec2 =decimal.Decimal(-9.23)print(my_dec2)#10진수를 튜플로 표시('\nmy_dec1을 튜플로 표시:' + str(my_dec1.as_tuple()))print('\nmy_dec2 as tuple:' + str(my_dec2.as_tuple()))#Perform Fused Multiply and Addprint('\n(x*5)+8 is:' + str(my_dec1.fma(5, 8)))

출력

 튜플 5.29999999999999982236431605997495353221893310546875-9.230000000000000426325641456060111522674560546875my_dec1 :DecimalTuple (부호 =0, 숫자 =(5, 2, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 , 8, 2, 2, 3, 6, 4, 3, 1, 6, 0, 5, 9, 9, 7, 4, 9, 5, 3, 5, 3, 2, 2, 1, 8, 9 , 3, 3, 1, 0, 5, 4, 6, 8, 7, 5), exponent=-50)my_dec2 튜플:DecimalTuple(sign=1,digits=(9, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2, 6, 3, 2, 5, 6, 4, 1, 4, 5, 6, 0, 6, 0, 1, 1, 1, 5, 2, 2, 6, 7, 4, 5, 6, 0, 5, 4, 6, 8, 7, 5), 지수=-48)(x*5)+ 8:34.49999999999999911182158030

compare() 메소드

이 비교 방법은 두 개의 소수를 비교하기 위한 것입니다. 숫자가 같으면 0을 반환하고, 첫 번째 숫자가 크면 +1을 반환하고, 첫 번째 인수가 더 작으면 -1을 반환합니다.

예시 코드

#Compare() 메소드 수행 is smallprint('비교 값:' + str(decimal.Decimal(-5.3).compare(decimal.Decimal(9.26)))#첫 번째 값이 큰 경우 비교print('비교 값:' + str(decimal.Decimal( -5.3).compare(decimal.Decimal(-13.25))))

출력

비교값:0비교값:-1비교값:1

일부 복사 기능

10진수를 다른 10진수 개체로 복사하는 몇 가지 다른 방법이 있습니다. 첫 번째 방법은 copy_abs()입니다. 십진수에서 절대값을 구하는 데 사용됩니다. 두 번째 방법은 copy_negate()로, 실제 숫자를 부정한 후 10진수를 복사하는 데 사용됩니다. 세 번째 함수는 copy_sign()입니다. 이 메서드는 두 번째 인수에서 부호를 가져와 첫 번째 인수를 인쇄합니다.

예시 코드

#copy_abs(), copy_negate() 및 copy_sign() import decimalmy_dec =decimal.Decimal(-25.36)print(my_dec)#절대값 복사temp_dec =my_dec.copy_abs()print('절대값은 ' + str 수행) (temp_dec))#음수 값 복사my_dec =decimal.Decimal(7.26)temp_dec =my_dec.copy_negate()print('7.26의 부정은 다음과 같습니다. ' + str(temp_dec))#두 번째 인수에서 첫 번째 인수로 부호 값 복사 onemy_dec =decimal.Decimal(-25.36)temp_dec =my_dec.copy_sign(decimal.Decimal(12.5))print('두 번째 인수에서 부호 복사:' + str(temp_dec))

출력

인 7.26의 25.3599999999999994315658113919198513031005859375Negate :두번째 인수로부터 -7.2599999999999997868371792719699442386627197265625Copy 기호 :-25.3599999999999994315658113919198513031005859375Absolute는
 25.3599999999999994315658113919198513031005859375  

최대 및 최소 방법

max와 min은 두 가지 간단한 방법입니다. 이들은 각각 두 숫자 사이의 최대값 또는 최소값을 찾는 데 사용됩니다.

예시 코드

#max() 및 min() 메서드 수행import decimalmy_dec1 =decimal.Decimal(5.3)print(my_dec1)my_dec2 =decimal.Decimal(-9.23)print(my_dec2)#최소 및 최대 표시print('최소:' + str (my_dec1.min(my_dec2)))print('최대:' + str(my_dec2.max(my_dec1)))

출력

 5.29999999999999982236431605997495353221893310546875-9.230000000000000426325641456060111522674560546875Minumum :-9.230000000000000426325641456Maximum :5.299999999999999822364316060