TECHNOLOGY INSPIRATION
Technology-People-Innovation

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:

Type KeywordValue 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 Number short-32,768 to 32,767
Long Numberlong-2,147,483,648 to 2,147,483,647
Decimal Number float1.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 <stdio.h>    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.
2 double 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.
4 double 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.
6 double 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.
7 double 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.
9 double 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 <math.h> header file in your program in similar way you have includedstdio.h:

  #include <stdio.h>  #include <math.h>    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 andcomplex. Here are some examples of numbers in Python:

int longfloat complex
10 51924361L0.03.14j
100 -0x19323L15.2045.j
-786 0122L-21.99.322e-36j
080 0xDEFABCECBDAECBFBAEl32.3+e18 .876j
-0490 535633629843L-90.-.6545+0J
-0x260 -052318172735L-32.54e100 3e+26J
0x69 -4721885298529L70.2-E12 4.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.

Labels:

Post a Comment

[blogger]

Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget