logo

CuriousTab

CuriousTab

Floating Point Issues problems


  • 1. 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;
    }
    

  • Options
  • A. 40 AC 00 00
  • B. 04 CA 00 00
  • C. 00 00 AC 40
  • D. 00 00 CA 04
  • Discuss
  • 2. What will you do to treat the constant 3.14 as a long double?

  • Options
  • A. use 3.14LD
  • B. use 3.14L
  • C. use 3.14DL
  • D. use 3.14LF
  • Discuss
  • 3. What will you do to treat the constant 3.14 as a float?

  • Options
  • A. use float(3.14f)
  • B. use 3.14f
  • C. use f(3.14)
  • D. use (f)(3.14)
  • Discuss
  • 4. The binary equivalent of 5.375 is

  • Options
  • A. 101.101110111
  • B. 101.011
  • C. 101011
  • D. None of above
  • Discuss
  • 5. We want to round off x, a float, to an int value, The correct way to do is

  • Options
  • A. y = (int)(x + 0.5)
  • B. y = int(x + 0.5)
  • C. y = (int)x + 0.5
  • D. y = (int)((int)x + 0.5)
  • Discuss
  • 6. Which of the following statement obtains the remainder on dividing 5.5 by 1.3?

  • Options
  • A. rem = (5.5 % 1.3)
  • B. rem = modf(5.5, 1.3)
  • C. rem = fmod(5.5, 1.3)
  • D. Error: we can't divide
  • Discuss
  • 7. Which of the following range is a valid long double (Turbo C in 16 bit DOS OS)?

  • Options
  • A. 3.4E-4932 to 1.1E+4932
  • B. 3.4E-4932 to 3.4E+4932
  • C. 1.1E-4932 to 1.1E+4932
  • D. 1.7E-4932 to 1.7E+4932
  • Discuss
  • 8. A float occupies 4 bytes. If the hexadecimal equivalent of these 4 bytes are A, B, C and D, then when this float is stored in memory in which of the following order do these bytes gets stored?

  • Options
  • A. ABCD
  • B. DCBA
  • C. 0xABCD
  • D. Depends on big endian or little endian architecture
  • Discuss
  • 9. 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;
    }
    

  • Options
  • A. #include<conio.h>
  • B. #include<math.h>
  • C. #include<stdlib.h>
  • D. #include<dos.h>
  • Discuss
  • 10. What are the different types of real data type in C?

  • Options
  • A. float, double
  • B. short int, double, long int
  • C. float, double, long double
  • D. double, long int, float
  • Discuss

First 2