|
Возможно ли? |
|
|
|
 |
Ответов
|
Aug 1 2009, 14:30
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(scifi @ Aug 1 2009, 16:58)  Попробуйте выразить это математическими терминами. Они более или менее общеприняты, из-за чего будет понятно, о чём идёт речь. Возьмите для примера книгу по математике. В нынешнем виде постановка задачи совсем непонятна (мне, по крайней мере). Или не секретничайте выдайте жизненную ситуацию, в которой возникла эта задача. Так тоже будет понятнее. Так я про дешифратор-то не зря написал.... И с постановкой задачи , вроде, корректно.... И так, повторяю, есть адрес. Надо убедиться, что он действительный (требуемый для срабатывания системы в дальнейшем, для пропуска данных в обработку, например). Сделать надо аппаратно. Маски большого размера неприемлимы - у меня их негде хранить (адрес может быть более 4-х восьми разрядных чисел, скажем, 6 или 10) . Есть ли математическое решение (разделить, умножить, сложить, вычесть, закодировать исходные числа перед математическими операциями и т.п.) этой задачи? Пропустил важное - в ходе решения результат должен выдаваться как бит. ВСЕ ЧЕТЫРЕ ЧИСЛА ПРАВИЛЬНЫЕ и их ПОРЯДОК (1-ое,2-ое,3-ие,4-ое правильная; 1-ое,3-ие,2-ое,4-ое - неправильная) правильный.
Сообщение отредактировал Adv - Aug 1 2009, 14:35
|
|
|
|
|
Aug 1 2009, 14:44
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Adv @ Aug 1 2009, 18:30)  И так, повторяю, есть адрес. Почтовый адрес? Цитата(Adv @ Aug 1 2009, 18:30)  Надо убедиться, что он действительный То есть прогнать этот адрес по полному списку всех действительных почтовых адресов? Я же говорю, непонятно. Тут телепатов нет, чудес не ждите.
|
|
|
|
|
Aug 1 2009, 14:53
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(scifi @ Aug 1 2009, 17:44)  Почтовый адрес?. Да хоть адрес для ОЗУ. Разница-то какая?? Адрес - он и есть адрес. В нём НЕТ признаков любого кодирования. Цитата(scifi @ Aug 1 2009, 17:44)  То есть прогнать этот адрес по полному списку всех действительных почтовых адресов?. Нет. По списку ДЛЯ КОНКРЕТНОГО УСТРОЙСТВА ОТБОРА (т.е моего устройства) Цитата(scifi @ Aug 1 2009, 17:44)  Я же говорю, непонятно. Тут телепатов нет, чудес не ждите. Не жду. Потому спрашиваю. Известно ли для этого математическое решение или я просто зря в это ввязался. Это дешифратор адреса, по сути. И у меня в распоряжении только операции табличного преобразования входных чисел и математические операции.
Сообщение отредактировал Adv - Aug 1 2009, 15:06
|
|
|
|
|
Aug 1 2009, 15:18
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Adv @ Aug 1 2009, 18:53)  Да хоть адрес для ОЗУ. Разница-то какая?? Адрес - он и есть адрес. Разница огромная. Такие понятия, как "адрес" и "действительный адрес" могут быть сильно разными. К примеру, IP-адрес. Это 4 числа от 0 до 255, разделённые точками. "Действительным" IP-адресом можно считать любой IP-адрес, не попадающий в один из известных диапазонов "приватных" IP-адресов (можно придумать ещё пару простых правил). То есть задача определения "действительного адреса" может быть очень простой. Если же речь идёт о почтовых адресах, то тут, к примеру, можно считать "действительным адресом" такой адрес, который входит в КЛАДР (Классификатор адресов России). Это довольно большая таблица, и её хранение и поиск по ней может быть довольно накладным. Поэтому и спрашиваю. У задачи в такой расплывчатой формулировке общего решения быть не может. Надо определиться, что такое "адрес" и что такое "действительный адрес".
|
|
|
|
|
Aug 1 2009, 15:37
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Это протосто входной адрес. Пример того, что я хотел бы получить (сильно упрощённый, но точный). Допустим, есть дешифратор адреса 8-ми разрядного кода. На выходе 255 шин ДА\НЕТ. Используются 1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Такое - только математически, и только для требуемых шин.
|
|
|
|
|
Aug 1 2009, 15:48
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Adv @ Aug 1 2009, 19:37)  Это протосто входной адрес. Пример того, что я хотел бы получить (сильно упрощённый, но точный). Допустим, есть дешифратор адреса 8-ми разрядного кода. На выходе 255 шин ДА\НЕТ. Используются 1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Такое - только математически, и только для требуемых шин. Вы всё время что-то недоговариваете. Есть дешифратор, понятно. А дальше что? В чём состоит задача?
|
|
|
|
|
Aug 1 2009, 15:53
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(scifi @ Aug 1 2009, 18:48)  Вы всё время что-то недоговариваете. Есть дешифратор, понятно. А дальше что? В чём состоит задача? Простите, чего недоговариваю-то?? Ранее написано - используются ОПРЕДЕЛЁННЫЕ комбинации из множества входных кодов адреса -1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Аппаратно это просто. А возможно ли математически?? Или ещё пример - есть ОЗУ с 8-ми битным входным адресом в котором при поступлении на вход адресов 1, 3, 8, 23, 46, 74, 124, 234, 245 на выходе будет еденица (ДА). Для остальных адресов -ноль (НЕТ).
Сообщение отредактировал Adv - Aug 1 2009, 15:57
|
|
|
|
|
Aug 1 2009, 16:05
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Adv @ Aug 1 2009, 19:53)  Простите, чего недоговариваю-то?? Ранее написано - используются ОПРЕДЕЛЁННЫЕ комбинации из множества входных кодов адреса -1, 3, 8, 23, 46, 74, 124, 234, 245 шины. Аппаратно это просто. А возможно ли математически?? То есть это что-то похожее на кодовой замок, где отпирающий код - это последовательность определённого числа (неповторяющихся) 8-разрядных чисел, введённых в определённом порядке? И нужно работу такого замка описать операциями табличного преобразования и арифметическими операциями на неком (пока неизвестном) языке программмирования? Предположим, речь идёт о кодовом замке, где код - это 4 8-разрядных числа. Делаем так. При вводе первого 8-разрядного числа (условно 0xAA) табличным преобразованием делаем из него 32-разрядное число 0xAA000000. При вводе второго 0xBB делаем из него 0x00BB0000. Потом 0x0000CC00 и 0x000000DD. Потом полученные 4 32-разрядных числа складываем и получаем 0xAABBCCDD. Далее сравниваем с верным кодом и говорим "да" или "нет". Для примера таблица первого преобразования очень простая: 0x00 -> 0x00000000 0x01 -> 0x01000000 0x02 -> 0x02000000 ... 0xFF -> 0xFF000000 (всего 256 строк)
|
|
|
|
|
Aug 1 2009, 16:35
|
Частый гость
 
Группа: Свой
Сообщений: 108
Регистрация: 6-08-05
Из: Винница
Пользователь №: 7 407

|
Цитата(scifi @ Aug 1 2009, 19:05)  То есть это что-то похожее на кодовой замок, где отпирающий код - это последовательность определённого числа (неповторяющихся) 8-разрядных чисел, введённых в определённом порядке? И нужно работу такого замка описать операциями табличного преобразования и арифметическими операциями на неком (пока неизвестном) языке программмирования?
Предположим, речь идёт о кодовом замке, где код - это 4 8-разрядных числа. Делаем так. При вводе первого 8-разрядного числа (условно 0xAA) табличным преобразованием делаем из него 32-разрядное число 0xAA000000. При вводе второго 0xBB делаем из него 0x00BB0000. Потом 0x0000CC00 и 0x000000DD. Потом полученные 4 32-разрядных числа складываем и получаем 0xAABBCCDD. Далее сравниваем с верным кодом и говорим "да" или "нет". Для примера таблица первого преобразования очень простая: 0x00 -> 0x00000000 0x01 -> 0x01000000 0x02 -> 0x02000000 ... 0xFF -> 0xFF000000 (всего 256 строк) И храним длинную маску 0xAABBCCDD. Если правильных кодов много - то и массив масок большой и громоздкий. Для этого у меня нет ресурсов. Это тот же самый ПРОСТОЙ, или ПРЯМОЙ, дешифратор. Можно прямо введённый код дешифровать, без сложения, байтам просто вес присваивается - первому - старший, второму - третий, третьему - второй ну и четвёртому младший. Тот же 32-х разрядный адрес, что и Вы сформировали. ВОПРОС есть ли какая-нибудь последовательность действий ТИПА (возможны любые, но МАТЕМАТИЧЕСКИЕ): - кодирование первого числа - кодирование второго числа - кодирование третьегочисла - кодирование четвёртого числа - сумма первое + второе + третье + четвёртое - деление на костанту - XOR байтов остатка - результат (ДА или НЕТ) число операций может быть другим , действия - тоже. НО тут не должно быть МАСОК (и устройтв для их хранения) Допускается наличие нескольких констант.
Сообщение отредактировал Adv - Aug 1 2009, 16:40
|
|
|
|
|
Aug 1 2009, 16:49
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(Adv @ Aug 1 2009, 20:35)  ВОПРОС есть ли какая-нибудь последовательность действий ТИПА (возможны любые, но МАТЕМАТИЧЕСКИЕ): - кодирование первого числа - кодирование второго числа - кодирование третьегочисла - кодирование четвёртого числа - сумма первое + второе + третье + четвёртое - деление на костанту - XOR байтов остатка - результат (ДА или НЕТ)
число операций может быть другим , действия - тоже. НО тут не должно быть МАСОК (и устройтв для их хранения) Допускается наличие нескольких констант. Если я правильно понял условия задачи, то это невозможно. Ведь если верный код - это 4 ПРОИЗВОЛЬНЫХ 8-разрядных числа, то они требуют 32 бита для хранения. Если таких кодов много, то и битов для их хранения нужно много. Однако, если набор верных кодов доступа известен заранее (перед составлением алгоритма декодирования), то теоретически можно попытаться использовать это знание, чтобы упростить алгоритм декодирования (но только для этих известных заранее кодов). Но это в общем случае весьма нетривиальная задача, наверное. Есть над чем подумать...
|
|
|
|
Сообщений в этой теме
Adv Возможно ли? Aug 1 2009, 13:09           Adv Цитата(scifi @ Aug 1 2009, 19:49) Если я ... Aug 1 2009, 16:52            scifi Цитата(Adv @ Aug 1 2009, 20:52) Коды изве... Aug 1 2009, 17:00             Adv Цитата(scifi @ Aug 1 2009, 20:00) Тогда п... Aug 1 2009, 17:40              тау Цитата(Adv @ Aug 1 2009, 21:40) Табличное... Aug 2 2009, 05:54               Adv Цитата(тау @ Aug 2 2009, 08:54) Теперь яс... Aug 2 2009, 09:11        Огурцов Цитата(Adv @ Aug 1 2009, 15:53) Или ещё п... Aug 2 2009, 05:40 stells Цитата(Adv @ Aug 1 2009, 17:09) какие мат... Aug 1 2009, 14:24 scifi Как насчёт такого варианта:
Берём введённый код 0x... Aug 1 2009, 17:51 Adv Цитата(scifi @ Aug 1 2009, 20:51) Как нас... Aug 1 2009, 18:13  scifi Цитата(Adv @ Aug 1 2009, 22:13) Нет. Все ... Aug 1 2009, 18:31   Adv Цитата(scifi @ Aug 1 2009, 21:31) Я опять... Aug 1 2009, 18:41 scifi Если за это время мы не нашли решение, то дальше п... Aug 1 2009, 18:49 Adv Цитата(scifi @ Aug 1 2009, 21:49) Если за... Aug 1 2009, 18:58 тау Сорри за идиотизм с моей стороны, но почему бы не ... Aug 1 2009, 19:07 Adv Цитата(тау @ Aug 1 2009, 22:07) Сорри за ... Aug 1 2009, 19:12 тау Что далее? проще не бывает же. Сообщаете на старте... Aug 1 2009, 19:40 Adv Цитата(тау @ Aug 1 2009, 22:40) Что далее... Aug 1 2009, 19:48  тау Цитата(Adv @ Aug 1 2009, 23:48) Простите,... Aug 1 2009, 20:25   Adv Цитата(тау @ Aug 1 2009, 23:25) предполож... Aug 1 2009, 20:51  asdf Цитата(Adv @ Aug 1 2009, 23:48) Простите,... Aug 1 2009, 20:32 тау Что значит " во всех 4-х числах этот код один... Aug 1 2009, 20:54 Adv Цитата(тау @ Aug 1 2009, 23:54) Что значи... Aug 1 2009, 21:13 тау Как уже правильно Вам сказал scifi, решение задач... Aug 3 2009, 19:17 lead_seller Делите свой 4-х байтный код на две части по 2 байт... Aug 27 2009, 14:19
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|