#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
void print(double v) {
cout << "0x" << hex << (*(long *)&v) << " = " << fixed << setprecision(40) << v << endl;
}
int main() {
//unsigned long val_ul = 0x3d824f7400000000;
//double val = *(double *)&val_ul;
double val = 0.0;
double step = 0.001;
double min = -99999.0;
double max = 99999.0;
double r1 = val - min;
double r2 = r1 / step;
double r3 = round(r2);
double r4 = r3 * step;
double r5 = r4 + min;
print(val);
print(step);
print(min);
print(max);
cout << endl;
print(r1);
print(r2);
print(r3);
print(r4);
print(r5);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPGNtYXRoPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludChkb3VibGUgdikgewoJY291dCA8PCAiMHgiIDw8IGhleCA8PCAoKihsb25nICopJnYpIDw8ICIgPSAiIDw8IGZpeGVkIDw8IHNldHByZWNpc2lvbig0MCkgPDwgdiA8PCBlbmRsOwp9CgppbnQgbWFpbigpIHsKCS8vdW5zaWduZWQgbG9uZyB2YWxfdWwgPSAweDNkODI0Zjc0MDAwMDAwMDA7CgkvL2RvdWJsZSB2YWwgPSAqKGRvdWJsZSAqKSZ2YWxfdWw7CgkKCWRvdWJsZSB2YWwgPSAwLjA7CgkKCWRvdWJsZSBzdGVwID0gMC4wMDE7Cglkb3VibGUgbWluID0gLTk5OTk5LjA7Cglkb3VibGUgbWF4ID0gOTk5OTkuMDsKCQoJZG91YmxlIHIxID0gdmFsIC0gbWluOwoJZG91YmxlIHIyID0gcjEgLyBzdGVwOwoJZG91YmxlIHIzID0gcm91bmQocjIpOwoJZG91YmxlIHI0ID0gcjMgKiBzdGVwOwoJZG91YmxlIHI1ID0gcjQgKyBtaW47CgkKCXByaW50KHZhbCk7CglwcmludChzdGVwKTsKCXByaW50KG1pbik7CglwcmludChtYXgpOwoJCgljb3V0IDw8IGVuZGw7CgkKCXByaW50KHIxKTsKCXByaW50KHIyKTsKCXByaW50KHIzKTsKCXByaW50KHI0KTsKCXByaW50KHI1KTsKCQoJcmV0dXJuIDA7Cn0=