C Programming Questions and Answers:: Floating Point Issues

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
#include
int main()
{
    float a=5.375;
    char *p;
    int i;
    p = (char*)&a;
    for(i=0; i<=3; i++)
        printf("x\n", (unsigned char)p[i]);
    return 0;
}
A. 40 AC 00 00
B. 04 CA 00 00
C 00 00 AC 40
D. 00 00 CA 04

Which statement will you add in the following program to work it correctly?


#include
int main()
{
    printf("%f\n", log(36.0));
    return 0;
}
A. #include
B. #include
C #include
D. #include

Which of the following statement obtains the remainder on dividing 5.5 by 1.3 ?

A. rem = (5.5 % 1.3)
B. rem = modf(5.5, 1.3)
C rem = fmod(5.5, 1.3)
D. -we can't divide

What will you do to treat the constant 3.14 as a float?

A. use float(3.14f)
B. use 3.14f
C use f(3.14)
D. use (f)(3.14)

The binary equivalent of 5.375 is

A. 101.101110111
B. 101.011
C 101011
D. None of above

Page 1 of 3