Decimal functions in Python
In this tutorial, you will learn about different Decimal Functions provided in Python. As we know it is difficult to perform various operations on floating-point numbers, therefore, Python provides a decimal module. This makes the task of a programmer easy and less complex.
Decimal Functions in Python
Let’s start by learning some easy functions provided by Python.
- Basic Arithmetic Functions:
- Square Root
- Logarithmic Functions
- exponent function
- Compare Function
- Max and Min Functions
- Copy Functions
- Logical operations :
- Shift and Rotate operations
Basic Arithmetic Functions
Python provides easy to implement functions:
1. sqrt(): To find square root of a decimal number.
2. log10() : To find log to the base 10 value.
3. exp() : To find exponential value i.e e^(x).
4. compare() : To compare two values.
5. max() and min(): To find the maximum and minimum values.
6.Copy Functions: There three basic copy functions provided by python.
i) copy_abs() : Prints absolute value of decimal number.
ii) copy_negate() : Prints negation of the decimal number.
iii) copy_sign() : Prints first number along with sign of second number.
Here is a simple example to demonstrate the execution of the above functions.
>>> import decimal as d >>> d.Decimal(5.1).sqrt() Decimal('2.258317958127242906313647036') >>> d.Decimal(5.1).log10() Decimal('0.7075701760979363355817870822') >>> d.Decimal(5.1).exp() Decimal('164.0219072999016856728608926') >>> a= d.Decimal(4.5) >>> b= d.Decimal(5.1) >>> a.compare(b) Decimal('-1') >>> a.max(b) Decimal('5.099999999999999644728632120') >>> c= d.Decimal(2.3) >>> d= d.Decimal(-4.2) >>> c.copy_abs() Decimal('2.29999999999999982236431605997495353221893310546875') >>> d.copy_negate() Decimal('4.20000000000000017763568394002504646778106689453125') >>> c.copy_sign(d) Decimal('-2.29999999999999982236431605997495353221893310546875')
Logical Operations
Various logical operations that can be performed are :
- Logical_and() : Perform Bit-wise ANDing of the numbers.
For example : 1001 AND 0011 = 0001 - Logical_or(): Perform Bit-wise OR of numbers.
For example : 1001 OR 0011 = 1011 - Logical_invert() : Perform Logical NOT of numbers.
For example : NOT 1001 = 0110 - Logical_xor() : Perform XOR operation on numbers.
For example : 1001 XOR 0011 = 1010 - shift() : Positive argument => Perform Logical left shift
For example : Left shift 234556 by 2 : 4556
Negative argument => Perform Logical right shift
For example : Right shift 234556 by 2 : 2345 - rotate() : Positive argument => Anti-Clock wise rotate digits.
For example : AntiClock rotate 234556 by 2 : 562345
Negative argument => Clockwise rotate digits.
For example: Clock rotate 234556 by 2: 455623
Here is a sample example to demonstrate the execution:
>>> import decimal as d >>> a= d.Decimal(1101) >>> b= d.Decimal(1001) >>> a.logical_and(b) Decimal('1001') >>> a.logical_or(b) Decimal('1101') >>> a.logical_invert() Decimal('1111111111111111111111110010') >>> a.logical_xor(b) Decimal('100') >>> c= d.Decimal(123456789123456789) >>> c.shift(-2) Decimal('1234567891234567') >>> c.shift(2) Decimal('12345678912345678900') >>> c.rotate(-3) Decimal('7890000000000123456789123456') >>> c.rotate(3) Decimal('123456789123456789000')
You may also refer :
Leave a Reply