OK. Принято. Хотя мне лично трудно понять алгоритм.
Поэтому публикую свой.
Определим четыре числа и их классические бинарные разложения.
1. Собственно само число, которое необходимо разложить:


2. Неизвестное число положительный компонент:

3. Неизвестное число отрицательный компонент:

4. Вспомогательное число:

Определим соотношение первых трех чисел, как:
Тогда:
и мы получаем два неизвестных:
Окончательно формула разложения:
Легко доказывается, что

, а следовательно,
