2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Двоичное представление со знаком
Сообщение09.10.2011, 21:31 
Аватара пользователя


05/02/06
387
Здравствуйте, у меня вопрос касательно суммы цифр в так называемом signed-digit binary representation. Рассмотрим в качестве примера:
$5=4+2-1\rightarrow\lbrace0\;1\;1 -1\rbrace$, с другой стороны
$5=8-4+1\rightarrow\lbrace1-1\;0\;1\rbrace$. Сумма цифр в обоих кодах равна $1$.
Эксперимент проведенный для чисел меньше 16 показывает, что для каждого из них можно найти код обладающий указанным свойством:
$1\rightarrow sum(0   0   0   1)=1$
$2\rightarrow sum(0   0   1   0)=1$
$3\rightarrow sum(0   1  -1   1)=1$
$4\rightarrow sum(0   1   0   0)=1$
$5\rightarrow sum(0   1   1  -1)=1$
$5\rightarrow sum(1  -1   0   1)=1$
$6\rightarrow sum(1  -1   1   0)=1$
$7\rightarrow sum(1   0  -1   1)=1$
$8\rightarrow sum(1   0   0   0)=1$
Вопрос как эти коды получать (метод перебора не подходит), т.е. нужен алгоритм, на входе которого обычный бинарный код, а на выходе один или несколько кодов со знаком.

 Профиль  
                  
 
 Re: Двоичное представление со знаком
Сообщение10.10.2011, 19:22 
Заслуженный участник
Аватара пользователя


21/12/05
5937
Новосибирск
Одного хватит?
Стартуем с обычного бинарного предствления. Используя тождество
$2^n+2^{n-1}+\dots +1=2^{n+1}-1$ заменяем начиная со старших разрядов группу единиц между двумя нулями на $\pm 1$ с нулями между ними. Последнюю единичку, даже если она была в группе единиц, оставляем.

-- Пн окт 10, 2011 23:29:17 --

Собссно оставить можно не оязательно самую младшую единичку, а младшую в любой группе единиц.
Не слишком ли смело на засыпающую голову будет высказать предположение, что так все получатся?

-- Пн окт 10, 2011 23:37:16 --

Это просто нахальство было бы $1\rightarrow 1-1-1-1$

 Профиль  
                  
 
 Re: Двоичное представление со знаком
Сообщение11.10.2011, 00:23 
Аватара пользователя


05/02/06
387
bot, спасибо большое. Обещаю проверить и позадавать вопросы.

 Профиль  
                  
 
 Re: Двоичное представление со знаком
Сообщение11.10.2011, 23:59 
Аватара пользователя


05/02/06
387
Эта задачка по духу очень напоминает
http://en.wikipedia.org/wiki/Non-adjacent_form
за исключением двух мелочей
1) the representation is not unique
2) its Hamming weight is varying

 Профиль  
                  
 
 Re: Двоичное представление со знаком
Сообщение13.10.2011, 22:11 
Аватара пользователя


05/02/06
387
Пока что таблица для $N\leq 16$:

$
\begin{bmatrix}
1  \\
  2    \\  
  3    \\  
  4     \\  
  5     \\ 
  5     \\ 
  6    \\ 
  7     \\
  7     \\ 
 8     \\ 
  9     \\  
  9    \\  
 10     \\
10    \\ 
 11     \\  
 11    \\  
 12    \\  
 13   \\  
 13     \\  
 14     \\  
 15    \\  
 16    \\ 

\end{bmatrix} 
\overset{sbin }{\rightarrow}
\begin{bmatrix}
   0   0   0   0   1  \\
 0   0   0   1   0 \\
0   0   1 \bar{1}   1 \\
0   0   1   0   0\\
0   0   1   1  \bar{1}\\
0   1  \bar{1}   0   1\\
 0   1  \bar{1}   1   0 \\
0   1   0  \bar{1}   1\\
1  \bar{1}  \bar{1}   1   1\\
0   1   0   0   0\\
 0   1   0   1  \bar{1} \\
1  \bar{1}   0   0   1\\
0   1   1  \bar{1}   0\\
1  \bar{1}   0   1   0 \\
0   1   1   0  \bar{1}\\
 1  \bar{1}   1  \bar{1}   1\\
1  \bar{1}   1   0   0 \\
  1  \bar{1}   1   1  \bar{1}\\
1   0  \bar{1}   0   1 \\
1   0  \bar{1}   1   0\\
1   0   0  \bar{1}   1 \\
 1   0   0   0   0\\
\end{bmatrix} 
\overset{sum }{\rightarrow}
\begin{bmatrix}
    1 \\    
   1 \\
      1 \\  
       1 \\  
       1 \\ 
       1 \\ 
      1 \\ 
       1 \\
       1 \\ 
      1 \\ 
      1 \\  
     1 \\  
      1 \\
    1 \\ 
      1 \\  
     1 \\  
     1 \\  
    1 \\  
      1 \\  
      1 \\  
     1 \\  
     1 \\ 
\end{bmatrix} 
$

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

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



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

Сейчас этот форум просматривают: YandexBot [bot]


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

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