clawham писал(а):...дык это как бы логичнейший вариант
Разделять число на отдельные биты, затем сдвигать эти биты в младшую позицию (деля таким образом на возрастающую степень двойки), после чего умножать результат на вес младшего бита, предварительно умноженный на ту же степень двойки, на которую только что делили само число - это
логичнейший вариант?!!

Да это не только не
логичнейший, это вовсе нелогичный процесс, так как все эти
двадцать четыре действия
тождественно равны простому умножению исходного, неразобранного на биты, числа на цену деления (а не на восемь кратных ей значений)!
Я уже не говорю о том, что для того, кто этого не писал (а через некоторое время - и для автора этой кутерьмы тоже) смысл происходящего станет неочевиден; а также о том, что, хотя дополнительной пользы эти лишние операторы не принесут никакой, источником дополнительных ошибок они будут в той же степени, что и нормальные операторы, написанные для дела.
Пройти через это в процессе понимания "
откуда ноги растут" можно - эти пути вообще неисповедимы, но предлагать такое другим, да еще, как
логичнейшее решение, ох, не надо!

clawham писал(а):Кстати у когото есть нормально расписанные технологии составления таблицы адресов устройств
Ты о поиске утсройств на шине? Разумеется есть - у Максима. Найди у него апноту AN187 - "1-Wire Search Algorithm", там все по шагам и расписано. И, кстати, ситуация, названная тобой - "
функция всегда возвращяет 255", во время поиска устройств на 1-wire шине (если ты верно ее описал) - там описана вместе с причинами. Более того, она - часть алгоритма.
