logo

Decimale functies in Python | Set 1

Python biedt in zijn definitie bepaalde methoden om snellere decimale drijvende-kommaberekeningen uit te voeren met behulp van de module 'decimaal'. 
Belangrijke bewerkingen op decimalen
1. sqrt() : - Deze functie berekent de vierkantswortel van het decimale getal.
2. exp() : - Deze functie retourneert de e^x (exponent) van het decimale getal.
 

Python
# Python code to demonstrate the working of  # sqrt() and exp() # importing 'decimal' module to use decimal functions import decimal # using exp() to compute the exponent of decimal number a = decimal.Decimal(4.5).exp() # using sqrt() to compute the square root of decimal number b = decimal.Decimal(4.5).sqrt() # printing the exponent print ('The exponent of decimal number is : 'end='') print (a) # printing the square root print ('The square root of decimal number is : 'end='') print (b) 

Uitgang: 



The exponent of decimal number is : 90.01713130052181355011545675  
The square root of decimal number is : 2.121320343559642573202533086


3. ln() : - Deze functie wordt gebruikt om te berekenen natuurlijke logaritme van het decimale getal.
4. log10() : - Deze functie wordt gebruikt om te berekenen log(basis 10) van een decimaal getal.
 

Python
# Python code to demonstrate the working of  # ln() and log10() # importing 'decimal' module to use decimal functions import decimal # using ln() to compute the natural log of decimal number a = decimal.Decimal(4.5).ln() # using sqrt() to compute the log10 of decimal number b = decimal.Decimal(4.5).log10() # printing the natural logarithm print ('The natural logarithm of decimal number is : 'end='') print (a) # printing the log10 print ('The log(base 10) of decimal number is : 'end='') print (b) 

Uitgang: 

The natural logarithm of decimal number is : 1.504077396776274073373258352  
The log(base 10) of decimal number is : 0.6532125137753436793763169118


5. as_tuple() : - Retourneert het decimale getal als tupel bevattend 3 argumenten teken(0 voor + 1 voor -) cijfers en exponentwaarde .
6. fma(ab) :- Deze 'fma' staat voor gefuseerd vermenigvuldigen en optellen . Het rekent (aantal*a)+b uit de cijfers in het betoog. Geen afronding van (aantal*a) vindt plaats in deze functie.
Voorbeeld :  
 



decimal.Decimal(5).fma(23) --> (5*2)+3 = 13


 

Python
# Python code to demonstrate the working of  # as_tuple() and fma() # importing 'decimal' module to use decimal functions import decimal # using as_tuple() to return decimal number as tuple a = decimal.Decimal(-4.5).as_tuple() # using fma() to compute fused multiply and addition b = decimal.Decimal(5).fma(23) # printing the tuple print ('The tuple form of decimal number is : 'end='') print (a) # printing the fused multiple and addition print ('The fused multiply and addition of decimal number is : 'end='') print (b) 

Uitgang: 

The tuple form of decimal number is : DecimalTuple(sign=1 digits=(4 5) exponent=-1)  
The fused multiply and addition of decimal number is : 13


7. vergelijk() : - Deze functie wordt gebruikt om decimale getallen te vergelijken. Retourneert 1 als het 1e decimaalargument groter is dan 2e -1 als het 1e decimale argument kleiner is dan 2e en 0 als beide gelijk zijn.
8. vergelijk_total_mag() : - Vergelijkt de totale grootte van decimale getallen. Geeft 1 terug als het 1e decimaalargument groter is dan 2e (teken negeert) -1 als het 1e decimaalargument kleiner is dan 2e (teken negeert) en 0 als beide gelijk zijn (teken negeren).
 



Python
# Python code to demonstrate the working of  # compare() and compare_total_mag() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal.Decimal(9.53) # Initializing decimal number b = decimal.Decimal(-9.56) # comparing decimal numbers using compare() print ('The result of comparison using compare() is : 'end='') print (a.compare(b)) # comparing decimal numbers using compare_total_mag() print ('The result of comparison using compare_total_mag() is : 'end='') print (a.compare_total_mag(b)) 

Uitgang: 

The result of comparison using compare() is : 1  
The result of comparison using compare_total_mag() is : -1


9. kopieer_abs() :- Deze functie drukt de absoluut waarde van het decimale argument.
10. kopie_negate() :- Deze functie drukt de negatie van een decimaal argument.
11. kopieerteken() :- Deze functie drukt de eerste argument door het teken van het tweede argument te kopiëren .
 

Python
# Python code to demonstrate the working of  # copy_abs()copy_sign() and copy_negate() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal.Decimal(9.53) # Initializing decimal number b = decimal.Decimal(-9.56) # printing absolute value using copy_abs() print ('The absolute value using copy_abs() is : 'end='') print (b.copy_abs()) # printing negated value using copy_negate() print ('The negated value using copy_negate() is : 'end='') print (b.copy_negate()) # printing sign effected value using copy_sign() print ('The sign effected value using copy_sign() is : 'end='') print (a.copy_sign(b)) 

Uitgang: 

The absolute value using copy_abs() is : 9.5600000000000004973799150320701301097869873046875  
The negated value using copy_negate() is : 9.5600000000000004973799150320701301097869873046875
The sign effected value using copy_sign() is : -9.5299999999999993605115378159098327159881591796875


12. maximaal() : - Deze functie berekent de maximaal uit twee decimale getallen.
13. min() : - Deze functie berekent de minimum uit twee decimale getallen.
 

Python
# Python code to demonstrate the working of  # min() and max() # importing 'decimal' module to use decimal functions import decimal # Initializing decimal number a = decimal.Decimal(9.53) # Initializing decimal number b = decimal.Decimal(7.43) # printing minimum of both values print ('The minimum of two numbers is : 'end='') print (a.min(b)) # printing maximum of both values print ('The maximum of two numbers is : 'end='') print (a.max(b)) 

Uitgang: 

The minimum of two numbers is : 7.429999999999999715782905696  
The maximum of two numbers is : 9.529999999999999360511537816