Floating Point Issues - Programming

Q1:

We want to round off x, a float, to an int value, The correct way to do is

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)

ANS:A - y = (int)(x + 0.5)

Rounding off a value means replacing it by a nearest value that is approximately equal or smaller or greater to the given number. y = (int)(x + 0.5); here x is any float value. To roundoff, we have to typecast the value of x by using (int) Example:

#include <stdio.h>

int main ()
{
  float x = 3.6;
  int y = (int)(x + 0.5);
  printf ("Result = %d\n", y );
  return 0;
}
Output:
Result = 4.