有没有一种在sqlite中计算汉明距离和重量的好方法?它支持按位运算符,但我想根据汉明权重对结果进行排序,并且 sqlite 不支持位计数。
更详细地说,假设我有这些行:
1011
1000
1100
0011
并且给定第一行(1011),我想得到最后一行(0011),如果你和它们,它有最多的 1。
在我的例子中,这些数字大约有 650 位长,我有大约 3500 行。
我发现这个解决方案适用于文本块,但我想要更优化的东西:
create table ts (x blob);
insert into ts(x) values ('00010');
...
select x & '10011', length(replace( x & '10011','0','')) as weight from ts;