#include <iostream>
#include <limits>

using namespace std;

int main()
{
    uint32_t r1 = numeric_limits<uint32_t>::max();
    float r2 = static_cast<float>(numeric_limits<uint32_t>::max());
    uint32_t r3 = static_cast<uint32_t>(r2); // static_cast<uint32_t>(static_cast<double>(numeric_limits<uint32_t>::max()));


    cout << "r1 = " << r1 << endl
    << "r2 = " << r2 << endl
    << "r3 = " << r3 << endl
    << "sizeof(float) = " << sizeof(float) << endl;

    return 0;
}