#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;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewogICAgdWludDMyX3QgcjEgPSBudW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpOwogICAgZmxvYXQgcjIgPSBzdGF0aWNfY2FzdDxmbG9hdD4obnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgoKSk7CiAgICB1aW50MzJfdCByMyA9IHN0YXRpY19jYXN0PHVpbnQzMl90PihyMik7IC8vIHN0YXRpY19jYXN0PHVpbnQzMl90PihzdGF0aWNfY2FzdDxkb3VibGU+KG51bWVyaWNfbGltaXRzPHVpbnQzMl90Pjo6bWF4KCkpKTsKCgogICAgY291dCA8PCAicjEgPSAiIDw8IHIxIDw8IGVuZGwKICAgIDw8ICJyMiA9ICIgPDwgcjIgPDwgZW5kbAogICAgPDwgInIzID0gIiA8PCByMyA8PCBlbmRsCiAgICA8PCAic2l6ZW9mKGZsb2F0KSA9ICIgPDwgc2l6ZW9mKGZsb2F0KSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9