#include <iostream>
#include <iomanip>
using namespace std;

int Foo(float a)
{
    cout << "\nint Foo(float a)\na: " << a << endl;
    
    int b = static_cast<int>(a);
    
    cout << "int b = a: " << b << endl;
    
    return b;
}

int main() 
{
    int a = 0x7FFFFFFF;
    float b = static_cast<float>(a);
    int c = static_cast<int>(b);
    
    cout << "\nint main()\nint a: " << a << endl;
    cout << "float b = a: "  << fixed << setprecision(0) << b << endl;
    cout << "int c = b: " << c << endl;
    
    cout << "\nreturn main\nFoo(a): " << Foo(static_cast<float>(a)) << endl << endl;
    
    return EXIT_SUCCESS;
}