Easyelectronics.ru

Электроника для всех
Текущее время: 18 сен 2019, 23:07

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 17 окт 2018, 10:17 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1354
Откуда: Из сказки.
Непонятно...
То ли у меня скорость мысли замедлилась то ли у других.
Но по-моему пургу несете.


Я файл предоставить не могу, а для проверки можно и просто в слове: передача -сместить по кольцу все биты в байтах да хоть на 1 влево и все
,вот получится заготовка для проверки.
брейн ринг - фигня какая, делать чтоль нех мне...
Я всегда делом занят но редкое дело мое - не херня, но это уже другая тема.

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 17 окт 2018, 11:36 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 652
Откуда: Германия
Специально для selevo: на C++, под Линукс, без комментов, не тестированное.

Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 17 окт 2018, 14:56 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 3519
:)


Последний раз редактировалось iev91 19 май 2019, 18:48, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 18 окт 2018, 00:23 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1354
Откуда: Из сказки.
это я просто для примера, код проверить, раз хочет.

dev
мне твой код мозг вынес,я не понял че он делает ?
Вижу только ротации.
В каком месте кода происходит например смена местами битов 0 и 7 ?
Я начал чуять что придется делать самому.

В каких языках есть операция обмена битами (местами поменять)
Все те же 0 и 7

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 18 окт 2018, 00:28 
Старожил

Зарегистрирован: 10 июн 2011, 23:01
Сообщения: 3287
выше я же привел код которые все варианты через std::next_permutation перебирает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 18 окт 2018, 00:53 
Старожил
Аватара пользователя

Зарегистрирован: 13 май 2010, 01:32
Сообщения: 1354
Откуда: Из сказки.
о, это уже интересно
я проглядел

_________________
Береги планету.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 18 окт 2018, 10:06 
Старожил
Аватара пользователя

Зарегистрирован: 06 ноя 2013, 16:07
Сообщения: 652
Откуда: Германия
selevo писал(а):
dev
мне твой код мозг вынес,


Ага ;)

selevo писал(а):
В каком месте кода происходит например смена местами битов 0 и 7 ?


Нет там никаких ротаций. А смена бит: if(c1 & (1 << o[i])) c2 |= (1 << i);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 19 окт 2018, 11:18 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1432
selevo писал(а):
Непонятно...
То ли у меня скорость мысли замедлилась то ли у других.
Но по-моему пургу несете.


Я файл предоставить не могу, а для проверки можно и просто в слове: передача -сместить по кольцу все биты в байтах да хоть на 1 влево и все
,вот получится заготовка для проверки.
брейн ринг - фигня какая, делать чтоль нех мне...
Я всегда делом занят но редкое дело мое - не херня, но это уже другая тема.

Или ускорилась до неуловимости
Вообще, решение проблемы отличается от разговоров о решении проблемы
В первом случае цель решить, во втором - поговорить


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ищу прогу поиска слов с перетасовкой бит
СообщениеДобавлено: 19 окт 2018, 17:51 
Старожил

Зарегистрирован: 30 апр 2010, 22:56
Сообщения: 1578
Откуда: Киев
по-моему вообще все просто. Надо "транспонировать" шаблон и сравнивать на соответствие цепочки соответствующих битов из каждого байта.

Например (для четырехбитовых байтов):
искомая последовательность (шаблон): 0001, 0101, 1100
данные: 0000, 0010, 0110, 1100, 1111

транспонируем шаблон:
001 - старшие биты
011
000
110 - младшие биты

транспонируем первые три байта данных:
000
001
011
000

построчно сравниваем, есть несовпадение, пропускаем, транспонируем следующие три байта:
001
011
110
000
Сравниваем - есть совпадение. и видно, что переставлены нижние строки.


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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 5 часов


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

Сейчас этот форум просматривают: STT


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB