Wednesday, 14 May 2014

Computer Programming - Numbers

Post By; Hanan Mannan (H.M.R.A Group Engineers)
Contact Number: Pak (+92)-321-59-95-634
-------------------------------------------------------

Computer Programming - Numbers
Every programming language provides support for manipulating different types of numbers like simple whole integer, floating point number. The programming languages like C, Java and Python categorize these numbers in several categories based on their nature.
Let's go back and check data types chapter, where we listed down core data types related to numbers:
TypeKeywordValue range which can be represented by this data type
Numberint-32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
Small Numbershort-32,768 to 32,767
Long Numberlong-2,147,483,648 to 2,147,483,647
Decimal Numberfloat1.2E-38 to 3.4E+38 till 6 decimal places
These data types are called primitive data types and you can use these data types to build more data types, which are called user-defined data type.
We have seen various mathematical and logical operations on numbers during a discussion on operators. So we know how to add numbers, subtract numbers, divide numbers, etc.
First let's see how to print various types of numbers available in C programming language:
#include 

main()
{
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 30949.374;
   
   printf( "s: %d\n", s);
   printf( "i: %d\n", i);
   printf( "l: %ld\n", l);
   printf( "f: %.3f\n", f);
   printf( "d: %.3f\n", d);
}
Rest of the coding is very obvious but we used %.3f to print float and double, which indicates number of digits after decimal to be printed. When above program is executed, it produces the following result:
s: 10
i: 1000
l: 1000000
f: 230.470
d: 30949.374

Math Operations on Numbers

Following table lists down various useful built-in mathematical functions available in C programming language which can be used for various important mathematical calculations.
For example, if you want to calculate square root of a number for example, 2304, then you have built-in function available to calculate square root for this number.
S.N.Function & Purpose
1double cos(double);
This function takes an angle (as a double) and returns the cosine.
2double sin(double);
This function takes an angle (as a double) and returns the sine.
3double tan(double);
This function takes an angle (as a double) and returns the tangent.
4double log(double);
This function takes a number and returns the natural log of that number.
5double pow(double, double);
The first is a number you wish to raise and the second is the power you wish to raise it to.
6double hypot(double, double);
If you pass this function the length of two sides of a right triangle, it will return you the length of the hypotenuse.
7double sqrt(double);
You pass this function a number and it gives you this square root.
8int abs(int);
This function returns the absolute value of an integer that is passed to it.
9double fabs(double);
This function returns the absolute value of any decimal number passed to it.
10double floor(double);
Finds the integer which is less than or equal to the argument passed to it.
Following a simple example to show few of the mathematical operations. To utilize these functions, you need to include the math header file  header file in your program in similar way you have included stdio.h:
#include 
#include 

main()
{
   short  s;
   int    i;
   long   l;
   float  f;
   double d;
   
   s = 10;      
   i = 1000;    
   l = 1000000; 
   f = 230.47;  
   d = 2.374;
   
   printf( "sin(s): %f\n", sin(s));
   printf( "abs(i): %f\n", abs(i));
   printf( "floor(f): %f\n", floor(f));
   printf( "sqrt(f): %f\n", sqrt(f));
   printf( "pow(d, 2): %f\n", pow(d, 2));

}
When above program is executed, it produces the following result:
sin(s): -0.544021
abs(i): -0.544021
floor(f): 230.000000
sqrt(f): 15.181238
pow(d, 2): 5.635876
Other than above usage, you will use numbers in loop counting, flag representation, true or false values in C programming.

Numbers in Java

Following is the equivalent program written in Java programming language. Java programming language also provides almost all numeric data types available in C programming.
You can try to execute the following program to see the output, which is identical to the result generated by the above C example.
public class DemoJava
{    
   public static void main(String []args) 
   {
   
      short  s;
      int    i;
      long   l;
      float  f;
      double d;

      s = 10;      
      i = 1000;    
      l = 1000000L; 
      f = 230.47f;  
      d = 30949.374;

      System.out.format( "s: %d\n", s);
      System.out.format( "i: %d\n", i);
      System.out.format( "l: %d\n", l);
      System.out.format( "f: %f\n", f);
      System.out.format( "d: %f\n", d);
    
   }
}
When above program is executed, it produces the following result:
s: 10
i: 1000
l: 1000000
f: 230.470001
d: 30949.374000
Java also provides a full range of built-in functions for mathematical calculation and you can use them in very similar way you have used them in C programming.

Numbers in Python

Python is little different from C and Java and categorize numbers in intlongfloat and complex. Here are some examples of numbers in Python:
intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3+e18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.53e-7j
Following is the equivalent program written in Python:
s = 10      
i = 1000    
l = 1000000 
f = 230.47  
d = 30949.374

print "s: ", s
print "i: ", i
print "l: ", l
print "f: ", f
print "d: ", d
When above program is executed, it produces the following result:
s:  10
i:  1000
l:  1000000
f:  230.47
d:  30949.374
Python also provides a full range of built-in functions for mathematical calculation and you can use them in very similar way you have used them in C programming.

0 comments: