#include <iostream>
#include <iomanip>
using namespace std;
int Foo( float a)
{
cout << "\n int Foo(float a)\n a: " << 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 << "\n int main()\n int a: " << a << endl;
cout << "float b = a: " << fixed << setprecision( 0 ) << b << endl;
cout << "int c = b: " << c << endl;
cout << "\n return main\n Foo(a): " << Foo( static_cast < float > ( a) ) << endl << endl;
return EXIT_SUCCESS ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBGb28oZmxvYXQgYSkKewogICAgY291dCA8PCAiXG5pbnQgRm9vKGZsb2F0IGEpXG5hOiAiIDw8IGEgPDwgZW5kbDsKICAgIAogICAgaW50IGIgPSBzdGF0aWNfY2FzdDxpbnQ+KGEpOwogICAgCiAgICBjb3V0IDw8ICJpbnQgYiA9IGE6ICIgPDwgYiA8PCBlbmRsOwogICAgCiAgICByZXR1cm4gYjsKfQoKaW50IG1haW4oKSAKewogICAgaW50IGEgPSAweDdGRkZGRkZGOwogICAgZmxvYXQgYiA9IHN0YXRpY19jYXN0PGZsb2F0PihhKTsKICAgIGludCBjID0gc3RhdGljX2Nhc3Q8aW50PihiKTsKICAgIAogICAgY291dCA8PCAiXG5pbnQgbWFpbigpXG5pbnQgYTogIiA8PCBhIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJmbG9hdCBiID0gYTogIiAgPDwgZml4ZWQgPDwgc2V0cHJlY2lzaW9uKDApIDw8IGIgPDwgZW5kbDsKICAgIGNvdXQgPDwgImludCBjID0gYjogIiA8PCBjIDw8IGVuZGw7CiAgICAKICAgIGNvdXQgPDwgIlxucmV0dXJuIG1haW5cbkZvbyhhKTogIiA8PCBGb28oc3RhdGljX2Nhc3Q8ZmxvYXQ+KGEpKSA8PCBlbmRsIDw8IGVuZGw7CiAgICAKICAgIHJldHVybiBFWElUX1NVQ0NFU1M7Cn0=