int CharsToInt( char top , char midt , char midb , char bot )
{
return(
(((int) top & 0xFF ) << 24) |
(((int) midt & 0xFF ) << 16) |
(((int) midb & 0xFF ) << 8) |
(((int) bot & 0xFF )) );
}
bool IntToChars( int INPUT , char *top , char *midt , char *midb , char *bot )
{
//going to rewrite this so that you just pass a pointer to a char[4].
//this would make passing from a String class easier
if( top && midt && midb && bot )
{
*top = (char) ( INPUT >> 24 ) & 0xFF;
*midt = (char) ( INPUT >> 16 ) & 0xFF;
*midb = (char) ( INPUT >> 8 ) & 0xFF;
*bot = (char) ( INPUT & 0xFF );
return true;
}
else
return false;
}
EDIT: Rewrote it to be cleaner:
int CharsToInt( char INPUT[] )
{
return(
(((int) INPUT[0] & 0xFF ) << 24) |
(((int) INPUT[1] & 0xFF ) << 16) |
(((int) INPUT[2] & 0xFF ) << 8) |
(((int) INPUT[3] & 0xFF )) );
}
bool IntToChars( int INPUT , char OUTPUT[] )
{
if( OUTPUT )
{
OUTPUT[0] = (char) ( INPUT >> 24 ) & 0xFF;
OUTPUT[1] = (char) ( INPUT >> 16 ) & 0xFF;
OUTPUT[2] = (char) ( INPUT >> 8 ) & 0xFF;
OUTPUT[3] = (char) INPUT & 0xFF;
return true;
}
else
return false;
}
No comments:
Post a Comment