# C Programming - Floating Point Issues

Exercise : Floating Point Issues - General Questions
1.
What are the different types of real data type in C ?
float, double
short int, double, long int
float, double, long double
double, long int, float
Explanation:
The floating point data types are called real data types. Hence float, double, and long double are real data types.

2.
What will you do to treat the constant 3.14 as a long double?
use 3.14LD
use 3.14L
use 3.14DL
use 3.14LF
Explanation:

Given 3.14 is a double constant.

To specify 3.14 as long double, we have to add L to the 3.14. (i.e 3.14L)

3.
If the binary eauivalent of 5.375 in normalised form is 0100 0000 1010 1100 0000 0000 0000 0000, what will be the output of the program (on intel machine)?
``````#include<stdio.h>
#include<math.h>
int main()
{
float a=5.375;
char *p;
int i;
p = (char*)&a;
for(i=0; i<=3; i++)
printf("%02x\n", (unsigned char)p[i]);
return 0;
}
``````
40 AC 00 00
04 CA 00 00
00 00 AC 40
00 00 CA 04
Explanation:
No answer description is available. Let's discuss.

4.
Which of the following range is a valid long double (Turbo C in 16 bit DOS OS) ?
3.4E-4932 to 1.1E+4932
3.4E-4932 to 3.4E+4932
1.1E-4932 to 1.1E+4932
1.7E-4932 to 1.7E+4932
Explanation:

The range of long double is 3.4E-4932 to 1.1E+4932

5.
Which statement will you add in the following program to work it correctly?
``````#include<stdio.h>
int main()
{
printf("%f\n", log(36.0));
return 0;
}
``````
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<dos.h>