Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.26;
Скачать: CL | DM;

Вниз

Расстояние между двумя двоичными кодами   Найти похожие ветки 

 
Alekz   (2004-01-14 09:28) [0]

Расстояние между двумя двоичными кодами называется количество несовпадающих двоичных разрядов. Пример:
0 101101
0 010101
- +++---
Как реализовать такую програмку???
Пишите на мыло...


 
hfa ©   (2004-01-14 09:35) [1]

послал на мыло


 
default ©   (2004-01-14 09:37) [2]

XOR, потом подсчёт(сдвигами) единичных битов


 
Sha ©   (2004-01-14 09:51) [3]

default © (14.01.04 09:37) [2]
XOR, потом лучше таблицей


 
default ©   (2004-01-14 09:59) [4]

Sha © (14.01.04 09:51) [3]
это если размер двоичных данных невысок, то это имеешь ввиду?


 
Anatoly Podgoretsky ©   (2004-01-14 10:01) [5]

default © (14.01.04 09:59) [4]
Шаблонно мыслишь, хоть 2 гб, вспомни про циклы и суммирование.


 
AKul ©   (2004-01-14 10:15) [6]


> Sha © (14.01.04 09:51) [3]



> XOR, потом лучше таблицей


Если твоя цель - использовать как можно больше памяти, зачем тогда вообще пользоваться XOR"ом - можно все реализовать в виде матрицы, у которой строки - операнд №1, столбцы - операнд №2, результат - элемент[операнд №1][операнд №2].


 
Anatoly Podgoretsky ©   (2004-01-14 10:22) [7]

AKul © (14.01.04 10:15) [6]
И чего потеря одного килобайта слишком большая плата за скорость? Лучше пусть пользователь помучится?


 
Romkin ©   (2004-01-14 10:45) [8]

При чем здесь скорость? i386 и выше есть команда, считающая кол-во единиц...


 
default ©   (2004-01-14 10:55) [9]


const
HashTable: Array[0..255] of Byte = (0, 1, 1, 2, ...);

function GetCountDifBits(Seq1, Seq2: Array of Byte;
LengthSeq: Cardinal): Cardinal;
var
i: Cardinal;
begin

Result := 0;
for i := 0 to LengthSeq - 1 do Inc(Result, HashTable[Seq1[i] xor Seq2[i]])

end;

Anatoly Podgoretsky © (14.01.04 10:01) [5]
так что-ли?


 
Sha ©   (2004-01-14 12:52) [10]

default © (14.01.04 10:55) [9]

да


 
Alekz   (2004-01-15 08:15) [11]

Спасибо!


 
Anatoly Podgoretsky ©   (2004-01-15 09:16) [12]

default © (14.01.04 10:55) [9]
Да очень эффективный код.



Страницы: 1 вся ветка

Текущий архив: 2004.01.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
14-83262
passlight
2004-01-05 11:30
2004.01.26
Трудолюбие — это опасный миф


3-83113
Vi0let
2003-12-28 09:06
2004.01.26
Господа, скажите, как произвольно вкл/выкл обновление TGrid.


1-83153
KAGE
2004-01-15 12:46
2004.01.26
Как достать бывшее содержимое *.DFM файла из откомп. *.EXE


6-83223
Raptorus
2003-11-20 16:33
2004.01.26
Естьли достойный конкурент Indy-компонентам для работы с сокетами


3-83119
Mox Fulder
2003-12-27 14:51
2004.01.26
Найти и далее...