2011/02/15

Преобразование числа в IP адрес

Возобновляю записи по питону! На сайте Яндекса можно найти много тренировочных задачек, что ж, приступим. :)

def ip2str(ip):
        if ip > 0xffffffff:
                raise ValueError('number must be 32 bit')
        ipstr = str(ip >> 24) + '.' + \
                str((ip & 0x00ffffff) >> 16) + '.' + \
                str((ip & 0x0000ffff) >> 8) + '.' + \
                str((ip & 0x000000ff))
        print ipstr

Эта функция принимает число, и печатает его в виде строки IP адреса. Как-то так сделал с помощью наложения масок и байтовых сдвигов.

No comments:

Post a Comment