def METHOD_NAME(self, number,
                  delimiter, format_string,
                  part_size, parts_amount):
    splitted = []
    while number > 0:
        splitted.append(int(number % (1 << part_size)))
        number = number >> part_size
    assert(len(splitted) <= parts_amount)
    if (len(splitted) < parts_amount):
        splitted += [0] * (parts_amount - len(splitted))
    splitted.reverse()
    return delimiter.join(format(s, format_string) for s in splitted)