Search code examples
c++floating-pointintegerimplicit-conversioncompiler-directives

Implicit casting Integer calculation to float in C++


Is there any compiler that has a directive or a parameter to cast integer calculation to float implicitly. For example:

float f = (1/3)*5;
cout << f;

the "f" is "0", because calculation's constants(1, 3, 10) are integer. I want to convert integer calculation with a compiler directive or parameter. I mean, I won't use explicit casting or ".f" prefix like that:

float f = ((float)1/3)*5;

or

float f = (1.0f/3.0f)*5.0f;

Do you know any c/c++ compiler which has any parameter to do this process without explicit casting or ".f" thing?


Solution

  • If you don't like either of the two methods you mentioned, you're probably out of luck.

    What are you hoping to accomplish with this? Any specialized operator that did "float-division" would have to convert ints to floats at some point after tokenization, which means you're not going to get any performance benefit on the execution.