#include <cstdio>
#include <climits>
#include <cinttypes>
#include <cmath>

union dbl
{
	double d;
	uint64_t i;

	struct
	{
		uint64_t mantissa:52;
		uint64_t exponent:11;
		uint64_t sign:1;
	} parts;
};


union single
{
	float f;
	uint32_t i;

	struct
	{
		uint32_t mantissa:23;
		uint32_t exponent:8;
		uint32_t sign:1;
	} parts;

    single operator-(int x)
    {
        single temp = *this;
        temp.i -= x;
        return temp;
    }
};

int main()
{
    single $s;
    $s.i = 0;

    printf("%.10e\n", $s.f);

    $s.i += 1;

    printf("%.10e\n", $s.f);
}
