this question has answer here:
i use mesure elapsed time :
const clock_t begin_time = clock(); // code here cout << float( clock () - begin_time ) / clocks_per_sec; //return 1.234 float var = ( clock () - begin_time ) / clocks_per_sec; cout << var; //return 1 please explain me don't understand going on.
edit : why printed var doesn't have ".234" ?
the first expression:
float( clock() - begin_time) / clocks_per_sec; converts subsexpression clock() - begin_time floating-point value, means whole expression corresponds floating-point division (the result of 1.234f in example).
in second expression:
( clock() - begin_time) / clocks_per_sec; all arguments of integral type, integer division performed. result of integer value (in example 1). later result converted float (1.0f) assigned floating-point variable var.
if want store result in float variable var can use:
float var = float( clock() - begin_time ) / clocks_per_sec; cout << var;