function main ()
{
video_mode = 0;
video_screen = 0;
random_seed(0);
wait(1);
float fColor[4];
unsigned int i, iColor[4], Unified;
while ( !key_esc )
{
while ( key_any ) wait(1);
Unified = 0;
for ( i=0; i<4; i++ )
{
fColor[i] = random(1);
iColor[i] = fColor[i] * 255;
}
printf ( "Start: %i, %i, %i, %i\n", iColor[0], iColor[1], iColor[2], iColor[3] );
Unified = iColor[0];
for ( i=1; i<4; i++ )
{
iColor[i] = iColor[i] << 8*i;
Unified |= iColor[i];
}
printf ( "Displaced: %i, %i, %i, %i\n", iColor[0], iColor[1], iColor[2], iColor[3] );
printf ( "Unified: %i\n", Unified );
for ( i=1; i<4; i++ )
{
unsigned int Remainder = ( Unified >> 8*i ) << 8*i;
iColor[i-1] = Unified & ~Remainder;
Unified = Remainder;
}
iColor[3] = Unified;
printf ( "Detached: %i, %i, %i, %i\n", iColor[0], iColor[1], iColor[2], iColor[3] );
for ( i=1; i<4; i++ )
{
iColor[i] = iColor[i] >> 8*i;
}
printf ( "Final: %i, %i, %i, %i\n\n", iColor[0], iColor[1], iColor[2], iColor[3] );
while ( !key_any ) wait(1);
}
sys_exit ( NULL );
}