Поиск:

Ответ в темуСоздание новой темы Создание опроса
> преобразование в другие системы исчисления 
:(
    Опции темы
scuter
Дата 25.6.2015, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



недавно нашёл другой алгоритм перебора чисел,
вот сам алгоритм
есть первое число 0
00000000000000
второе число 1 единица ставиться в начале
00000000000001
третье число 2 единичка перемещается вперёд
00000000000010
и так дальше пока не переместится до конца это будет уже 14 в данном числе
10000000000000
когда единичка добралась до конца идёт новый ряд чисел но уже с двумя единичками это уже число 15
00000000000011
следующее число работает по алгоритму
двигается самая последняя единичка вперёд если на пути она встречает перед собой другую единицу 
то она выбивает вперёд впереди стоящую единицу, а сома отбрасывается назад
00000000000101 - 16
00000000000110 - 17
00000000001001 - 18
00000000001010 - 19
у меня вопрос встречали ли вы такой алгоритм перебора чисел или нет,
меня интересует преобразование обычного бинарного числа в такой вид чисел


честно говоря мне нужен какой ни будь преобразователь числа который даёт максимально уникальное значение.
PM MAIL   Вверх
baldina
Дата 25.6.2015, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 4
Всего: 101



Цитата(scuter @  25.6.2015,  21:20 Найти цитируемый пост)
преобразователь числа который даёт максимально уникальное значение

что еще за преобразователь? чем само число не уникально? какое отношение имеют способы перебора (которых чуть более чем два)?
PM MAIL   Вверх
scuter
Дата 26.6.2015, 00:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



мне нужно преобразовать число так что бы при изменении на единицу число менялось бы до неузнаваемости,
при этом эти числа не должны повторяться.

то есть
первое число 00000000000001 следующее за ним 00011100100001
ну что ни будь вроде этого только преобразовывать нужно и в обратную сторону тоже.

тот алгоритм похож на последовательность Вибаначе, только он другой и преобразование там другие.

Это сообщение отредактировал(а) scuter - 26.6.2015, 01:17
PM MAIL   Вверх
ksnk
Дата 26.6.2015, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



scuter, Переводи число в банальный двоичный код. А чтобы оно "менялось бы до неузнаваемости" - переставляй получившиеся цифирки по какому-нибудь фиксированному правилу. При декодировании - переставляй обратно и из двоичного...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Akina
Дата 26.6.2015, 09:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(scuter @  26.6.2015,  01:43 Найти цитируемый пост)
мне нужно преобразовать число так что бы при изменении на единицу число менялось бы до неузнаваемости,при этом эти числа не должны повторяться.

Любая приличная хэш-функция. А с учётом требования уникальности - битовая длина хэша должна быть не менее битовой длины числа.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
scuter
Дата 27.6.2015, 02:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 13.6.2008

Репутация: нет
Всего: 1



Цитата(ksnk @  26.6.2015,  08:14 Найти цитируемый пост)
Переводи число в банальный двоичный код. А чтобы оно "менялось бы до неузнаваемости" - переставляй получившиеся цифирки по какому-нибудь фиксированному правилу. При декодировании - переставляй обратно и из двоичного... 

вот это мне и нужно, но обычный хеш меняет размер т.е. на выходе получается что то с большим или меньшем количеством знаков.

Это сообщение отредактировал(а) scuter - 27.6.2015, 02:54
PM MAIL   Вверх
ksnk
Дата 27.6.2015, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 7
Всего: 386



scuter, большее или меньшее количество знаков - это вообще говоря, сколько нулей в начало нужно дописать, чтобы количество знаков сравнялось  smile Или сколько отрезать, чтобы не мешались ...

Нужно получить именно значение из 0 и 1? В обратную сторону тоже нужно будет , из числа получать его порядковый номер?

Вот еще мысль. Придумываешь секретное-секретное число. Инициализируешь им генератор случайных чисел. Первый вызов генератора даст нам значение 0, второй - значение 1 и так далее... После перевода в двоичный код, конечно. Расшифровать можно, вообще говоря, только на той машине, на которой шифровал. (хм... вряд ли это утверждение в точности верно... smile )


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
TarasProger
Дата 17.8.2015, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 5.8.2015

Репутация: нет
Всего: нет



Цитата(scuter @  25.6.2015,  21:20 Найти цитируемый пост)
у меня вопрос встречали ли вы такой алгоритм перебора чисел или нет,
меня интересует преобразование обычного бинарного числа в такой вид чисел
Какой? У тебя о переборе ни слова.

Добавлено @ 11:14
Кстати, 10000000000000 двоичное - это 8192 десятичное, а вовсе не 14. Двоичная система счисления определена однозначно и от алгоритмов перебора не зависит.

Это сообщение отредактировал(а) TarasProger - 17.8.2015, 11:15
PM MAIL   Вверх
TarasProger
Дата 17.8.2015, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 5.8.2015

Репутация: нет
Всего: нет



Цитата(scuter @  27.6.2015,  02:52 Найти цитируемый пост)
вот это мне и нужно, но обычный хеш меняет размер т.е. на выходе получается что то с большим или меньшем количеством знаков.
Десятичное число в любом случае имеет иной размер, чем двоичное.

PM MAIL   Вверх
Akina
Дата 17.8.2015, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(TarasProger @  17.8.2015,  12:37 Найти цитируемый пост)
Десятичное число в любом случае имеет иной размер, чем двоичное.

Ноль? Один?


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
TarasProger
Дата 17.8.2015, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 104
Регистрация: 5.8.2015

Репутация: нет
Всего: нет



Цитата(Akina @  17.8.2015,  11:39 Найти цитируемый пост)
Ноль? Один? 
Ну эти сразу в двоичной, речь же о действиетльно десятичных. 2 десятичное - это уже 10 двоичное, а 10 десятичное - это даже 1010 двоичное.


Это сообщение отредактировал(а) TarasProger - 17.8.2015, 12:05
PM MAIL   Вверх
Akina
Дата 17.8.2015, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Эмм... следует понимать этот ответ как утверждение, что в десятичной (или в двоичной?) системе счисления не существует ни нуля, ни единицы?

И вдогонку. На самом деле все Ваши утверждения имеют смысл лишь в случае, когда речь идёт о чистых системах счисления, не привязанных к компьютерному представлению чисел. В то время как исходный вопрос однозначно оперирует не числами, а их представлениями.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0860 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.