What is the difference between floor function and cast to int in C

1 Answer

0 votes
#include <stdio.h>
#include <math.h>

// Casting to int will truncate toward zero. 
// floor() will truncate toward negative infinite.

int main(void) {
    double positivenumber = 3.14;
    
    // double floor(double x)
 
    printf("floor: %f\n", floor(positivenumber));
    printf("(int) %d\n", (int)(positivenumber));
    
    double negativenumber = -3.5;
    
    printf("floor: %f\n", floor(negativenumber));
    printf("(int) %d\n", (int)(negativenumber));
   
    return 0;
}

  
  
/*
run:
  
floor: 3.000000
(int) 3
floor: -4.000000
(int) -3
  
*/
 

 



answered Feb 11 by avibootz

Related questions

1 answer 155 views
1 answer 65 views
1 answer 79 views
1 answer 70 views
1 answer 54 views
...