#include <stdlib.h>
#include <stdio.h>
#include <float.h>
#include <math.h>
void PrintBytes( const float value )
{
const char* const byte = ( const char* )&value ;
for( size_t i = 0 ; i < sizeof( value ) ; i++ )
{
}
}
int main(void)
{
float value = FLT_MIN;
while( 1 )
{
printf( "%e %d " , value
, isnormal
( value
) ); PrintBytes( value );
if( !isnormal( value ) )
{
break;
}
value /= 2.0F;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPGZsb2F0Lmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp2b2lkIFByaW50Qnl0ZXMoIGNvbnN0IGZsb2F0IHZhbHVlICkKewogICAgY29uc3QgY2hhciogY29uc3QgYnl0ZSA9ICggY29uc3QgY2hhciogKSZ2YWx1ZSA7CiAgICBmb3IoIHNpemVfdCBpID0gMCA7IGkgPCBzaXplb2YoIHZhbHVlICkgOyBpKysgKQogICAgewogICAgICAgIHByaW50ZiggIiUwMmhoeCIgLCBieXRlW2ldICk7CiAgICB9ICAgCn0KCmludCBtYWluKHZvaWQpIAp7CiAgICBmbG9hdCB2YWx1ZSA9IEZMVF9NSU47CgogICAgd2hpbGUoIDEgKQogICAgewogICAgICAgIHByaW50ZiggIiVlICVkICIgLCB2YWx1ZSAsIGlzbm9ybWFsKCB2YWx1ZSApICk7CiAgICAgICAgUHJpbnRCeXRlcyggdmFsdWUgKTsKICAgICAgICBwdXRzKCAiIiApOwoKICAgICAgICBpZiggIWlzbm9ybWFsKCB2YWx1ZSApICkKICAgICAgICB7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgdmFsdWUgLz0gMi4wRjsKICAgIH0KICAgIHJldHVybiAwOwp9