2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 10:27 
Аватара пользователя


05/06/08
474
Стандартное бинарное представление любого целого числа:
$c = \sum\limits_{i = 0}^\infty  {{b_i}{2^i}} $,
где ${b_i} \in \left\{ {0,1} \right\}$.
Найти алгоритм для нетипичного бинарного разложения:
${\bar c} = \sum\limits_{i = 0}^\infty  {{\bar b_i}{2^i}} $,
где ${\bar b_i} \in \left\{ { - 1,1} \right\}$, а ${\bar c} $ - любое нечетное число.

PS Если есть предположение, для чего такое разложение было бы нужно - поделитесь соображениями.
Возможно, что задачка простая, и даже входит в какой-нибудь курс, в качестве ДЗ, тем не менее я регулярно забываю ее решение.

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 10:43 
Заслуженный участник
Аватара пользователя


11/01/06
3822
Да просто сделать замену $\bar{b}_{i}=2b_{i}-1$ и раскладывать
$$\frac{\bar{c}-1+2^{n}}{2}=\sum_{i=0}^{n-1}b_{i}2^{i},$$
где $2^{n}>\lvert\bar{c}\rvert$. Бесконечной сумма, конечно, быть не может.

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 11:16 
Аватара пользователя


05/06/08
474
Здорово. Первая часть годится с первого взгляда и для четных. Попробовал по вашей формуле разложить число 5... Не пойму, где подвох...:)
Бесконечность, конечно не совсем удобное, но означает лишь, что число нулей может быть неограничено. Ваше ограничение на степень двойки дает единственное решение, хоть и довольно странное.
То есть вторая половина похоже верная, но не понятно как ей пользоваться.

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 12:31 
Аватара пользователя


05/06/08
474
Даю уточнение:
$c = \bar c$
Как получить разложение
$c = \sum\limits_{i = 0}^I {{b_i}{2^i}} $
знают даже школьники.
А вот как получить разложение
$\bar c = \sum\limits_{i = 0}^I {{{\bar b}_i}{2^i}} $
из формулы предыдущего поста мне не ясно.

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 13:10 
Заслуженный участник
Аватара пользователя


11/01/06
3822
Во втором случае не может быть бесконечности, потому что нули запрещены.

Если $\bar{c}=5<2^3$, то
$$\frac{\bar{c}+2^3-1}{2}=6=0\cdot2^0+1\cdot2^1+1\cdot2^2 \implies 5=(-1)\cdot2^0+1\cdot2^1+1\cdot2^2.$$
Можно и по-другому: $\bar{c}=5<2^5$, поэтому
$$\frac{\bar{c}+2^5-1}{2}=18=0\cdot2^0+1\cdot2^1+0\cdot2^2+0\cdot2^3+1\cdot2^4 \implies 5=(-1)\cdot2^0+1\cdot2^1+(-1)\cdot2^2+(-1)\cdot2^3+1\cdot2^4.$$
(То есть разложение не единственно.)

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 18:15 
Аватара пользователя


05/06/08
474
OK. Принято. Хотя мне лично трудно понять алгоритм.
Поэтому публикую свой.
Определим четыре числа и их классические бинарные разложения.
1. Собственно само число, которое необходимо разложить:
$\alpha  = \sum\limits_{i = 0}^I {{a_i}{2^i}}  $
$\bar \alpha  = \sum\limits_{i = 0}^I {{{\bar a}_i}{2^i}} $
2. Неизвестное число положительный компонент:
$\rho  = \sum\limits_{i = 0}^I {{p_i}{2^i}} $
3. Неизвестное число отрицательный компонент:
$\mu  = \sum\limits_{i = 0}^I {{m_i}{2^i}} $
4. Вспомогательное число:
$\beta  = {2^{I + 1}} - 1$
Определим соотношение первых трех чисел, как:
$\alpha  = \bar \alpha  = \rho  - \mu $
Тогда:
$\beta  + \bar \alpha  = 2\rho $
и мы получаем два неизвестных:
$\left\{ \begin{array}{l}
\rho  = \frac{{\beta  + \alpha }}{2}\\
\mu  = \frac{{\beta  - \alpha }}{2}
\end{array} \right.$
Окончательно формула разложения:
$\alpha  = \sum\limits_{i = 0}^I {{p_i}{2^i}}  - \sum\limits_{i = 0}^I {{m_i}{2^i}}  = \sum\limits_{i = 0}^I {\left( {{p_i} - {m_i}} \right){2^i}}  = \sum\limits_{i = 0}^I {{{\bar a}_i}{2^i}}  = \bar \alpha $
Легко доказывается, что$ {p_i} \ne {m_i}$, а следовательно,
${{\bar a}_i} = \left( {{p_i} - {m_i}} \right) \in \left\{ { - 1,1} \right\}$

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение12.05.2023, 21:03 
Заслуженный участник
Аватара пользователя


11/01/06
3822
MGM в сообщении #1593653 писал(а):
Хотя мне лично трудно понять алгоритм.
Делаем замену $\bar{b}_{i}=2b_{i}-1$, так что $\bar{b}_{i}\in\{\pm1\} \iff b_{i}\in\{0,1\}$. Тогда (мне удобнее переобозначить $n=I+1$)
$$\bar{c}=\sum_{i=0}^{n-1}\bar{b}_{i}2^{i} \iff \frac{\bar{c}+2^{n}-1}{2}=\sum_{i=0}^{n-1}b_{i}2^{i}.$$
Последнее равенство возможно тогда и только тогда, когда
$$0\leqslant\frac{\bar{c}+2^{n}-1}{2}\leqslant2^{n}-1 \iff \lvert\bar{c}\rvert\leqslant2^{n}-1.$$
Соответственно, алгоритм:
1. Берём натуральное $n$, такое что $2^{n}>\lvert\bar{c}\rvert$.
2. Представляем число $\frac{\bar{c}+2^{n}-1}{2}$ в двоичной системе:
$$\frac{\bar{c}+2^{n}-1}{2}=\sum_{i=0}^{n-1}b_{i}2^{i}.$$
3. Заменяя в этом представлении каждое $b_{i}=0$ на $-1$, получаем искомое представление для $\bar{c}$.

Или я неправильно понял задачу?

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение13.05.2023, 09:58 
Аватара пользователя


05/06/08
474
В принципе я понял почти сразу ваш алгоритм.
Есть подозрение, что он идеально подходит для нетипичного разложения в троичной системе счисления. Точнее, полная уверенность.
И для случая со степенями тройки все гороздо проще и действительно в два шага.
Для двойки самый неудобный момент - ассиметрия относительно базы состоящей из
$ \beta  = {2^{I + 1}} - 1$.

PS Для тройки (есть смутное подозрение, что это давно известно и без меня):
$\bar Y = \sum\limits_{i = 0}^I {{{\bar y}_i}{3^i}}  = X - \sum\limits_{i = 0}^I {{3^i}}  \Rightarrow $
$X = Y + \sum\limits_{i = 0}^I {{3^i}}  = \sum\limits_{i = 0}^I {{x_i}{3^i}}  \Rightarrow $

$\bar Y = \sum\limits_{i = 0}^I {\left( {{x_i} - 1} \right){3^i}} $
${{\bar y}_i} \in \left\{ { - 1,0,1} \right\}$

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение13.05.2023, 12:53 
Заслуженный участник
Аватара пользователя


23/08/07
5420
Нов-ск
Просто заменяем все куски стандартного двоичного представления (старшие разряды слева)
$0,0,0,0,0,1 \rightarrow 1,(-1),(-1),(-1),(-1)$

 Профиль  
                  
 
 Re: Необычное бинарное представление нечетного числа
Сообщение13.05.2023, 13:03 
Заслуженный участник
Аватара пользователя


11/01/06
3822
Для тройки можно и без замены, поскольку $\{-1,0,1\}$ — полная система вычетов по модулю $3$. Для целых чисел алгоритм, основанный на делении с остатком, работает без изменений.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group