|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||||||||||||
Варианты конвертации bool/byte/int в byte/int11.01.2019, 12:56. Показов 5857. Ответов 102
Метки нет (Все метки)
В Си, если мне не изменяет память можно наоборот любые данные интерпретировать как true/false. А вот меня интересует преобразование числовых данных отличных от нуля в единицу, а нулевых значений в ноль.
Я воспользовался уже двумя реализациями (на самом деле есть еще две, но они сильно зависят от контекста и не являются универсальными), и по производительности остановился на первой: 1)
0
|
||||||||||||||||
| 11.01.2019, 12:56 | |
|
Ответы с готовыми решениями:
102
int в byte
Ошибка после конвертации метода на С++ к С#: "Неявное преобразование типа "int" в "bool" невозможно" |
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 20.01.2019, 07:45 [ТС] | ||
|
0
|
||
|
95 / 74 / 27
Регистрация: 13.08.2018
Сообщений: 203
|
|||||||
| 20.01.2019, 15:50 | |||||||
|
Добавлено через 1 час 23 минуты Чтобы было понятнее внес как можно меньше исправлений в оригинал. Сейчас считает как в оригинале без "ошибок". countX считать не стал, просто лень уже писать код.Кликните здесь для просмотра всего текста
0
|
|||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 20.01.2019, 16:18 [ТС] | |||
|
0
|
|||
|
95 / 74 / 27
Регистрация: 13.08.2018
Сообщений: 203
|
|||
| 20.01.2019, 17:17 | |||
|
0
|
|||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 20.01.2019, 17:33 [ТС] | ||
|
куда важнее произвести сравнение каждого с каждым чтобы найти совпадения и я этого не вижу в вашем коде (ну или просто не понимаю где и как вы это делаете). возможно объединение хэшей в одну переменную ласт прирост в скорости, но это будет локальное решение, до внедрения Crc32. В общем пока я не знаю всё же что вы делаете.
0
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|
| 20.01.2019, 17:43 | |
|
belalugoci, в чем суть вашего алгоритма? По факту вы тут просто считаете сколько одинаковых байтов в массивах между индексами, вычисленными по только вам понятному алгоритму... Обязательно байты по отдельности считать? Что если сравнивать массивы целиком, а не по байтно?
0
|
|
|
95 / 74 / 27
Регистрация: 13.08.2018
Сообщений: 203
|
|||
| 20.01.2019, 17:58 | |||
|
0
|
|||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||||
| 20.01.2019, 18:31 [ТС] | ||||||
|
Добавлено через 6 минут Мне казалось любые последовательные данные при любых вариантах так или иначе будут сравниваться поэлементно. Максимум что можно сделать это укрупнить сами элементы, например вместо byte использовать ulong, в котором упакованы byte. В чем ваша идея?
0
|
||||||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|
| 20.01.2019, 18:33 | |
|
belalugoci, у меня при использовании 64 битного хэша получается другой результат, а именно 2015854720 итераций, что совпадает с результатом полученным maximka777, причем всего за секунду времени (с 64 битным хэшем у меня считает все те же 2.5 минуты...)
Из чего следует что ваш xor хэш и crc8 дает слишком много коллизий, из-за чего получается неверный результат.
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||
| 20.01.2019, 18:36 [ТС] | ||
|
0, 15, 3, 7, 12 и 0, 11, 22, 10, 4 видно что данные разные, но результат работы алгоритма может дать две одинаковые последовательности из 28 байт. именно такие коллизии я отлавливаю. сейчас на 20 бит это 8448 коллизий (1048576 элементов всего или 0,008%), что лучше моего самого первого алгоритма, там было 40%.
0
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 20.01.2019, 18:42 | ||
|
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
||||
| 20.01.2019, 18:46 [ТС] | ||||
|
неверный результат - это когда в результате работы программы я не получаю один и тот же массив коллизий моего алгоритма. в коде maximka777 я не вижу результатов работы алгоритма, нет сравнений (или они есть но мне не хватает мозгов их понять). Он считает countIn, который показывает сколько раз происходило сравнение данных, а я считаю countX, который показывает число коллизий моего алгоритма. если ваш countIn и countIn maximka777 совпадают, то это лишь говорит о том, что вы используете такой алгоритм хэширования, который дает одинаковое число коллизий хэша, но работа программы не ставит целью считать хэши, это лишь инструмент для сокращения числа итераций. Добавлено через 37 секунд Добавлено через 1 минуту
0
|
||||
|
95 / 74 / 27
Регистрация: 13.08.2018
Сообщений: 203
|
||
| 20.01.2019, 18:46 | ||
|
0
|
||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||
| 20.01.2019, 18:47 | ||
|
0
|
||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|||
| 20.01.2019, 18:49 [ТС] | |||
|
0
|
|||
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
||||||||
| 20.01.2019, 19:01 | ||||||||
0
|
||||||||
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 20.01.2019, 19:23 [ТС] | |
|
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|
| 20.01.2019, 19:26 | |
|
0
|
|
|
475 / 294 / 29
Регистрация: 01.06.2018
Сообщений: 3,676
|
|
| 20.01.2019, 19:30 [ТС] | |
|
0
|
|
|
6691 / 4102 / 1607
Регистрация: 09.05.2015
Сообщений: 9,576
|
|||||||
| 20.01.2019, 19:47 | |||||||
0
|
|||||||
| 20.01.2019, 19:47 | |
|
преобразование ref byte в byte[] или в IntPtr без использования неуправляемого кода
Пердача byte[] COM-функции, ожидающей ref byte wav byte[] в flac byte[]
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
|