interger to I P address

Colin Alston karnaugh at karnaugh.za.net
Wed Aug 27 17:01:02 UTC 2008


On 2008/08/27 05:22 PM Dave Israel wrote:
> 
> Normally, I don't participate in this sort of thing, but I'm a sucker 
> for a "there's more than one way to do it" challenge.

Aww come on, C gets way more "fun" than that ;)

#define _u8 unsigned char
#define _u32 unsigned long

int main(void) {
     _u32 ipn = 1089055123;
     _u8 ipa[3];
     _u8 oct = 0;


     for (oct=0; oct <4; oct++){
         ipa[oct] = (char)(
             (ipn & (0xFF000000 >> (8*oct))) >> (8*(3-oct))
         );
     }

     printf("%d.%d.%d.%d\n", ipa[0], ipa[1], ipa[2], ipa[3]);

     return 0;
}






More information about the NANOG mailing list