hammingweight相关内容

T-SQL 中的汉明权重/人口计数

我正在寻找一种快速方法来计算 BINARY(1024) 字段的汉明权重/人口计数/“1 位的数量".MySQL 有一个 BIT_COUNT 函数可以做类似的事情.我在 T-SQL 中找不到类似的函数? 或者您是否建议将二进制数据存储在另一种类型的字段中? 如果你不知道我在说什么,这里有一篇关于汉明权重的维基百科文章. 解决方案 您可以使用具有预先计算的汉明权重的辅助表来处理小数 ..
发布时间:2022-01-09 19:32:54 数据库

基于汉明权重的索引

假设我们有一个 bitsize n=4; 我所描述的问题是如何根据汉明权重及其值(知道 bitsize)将数字索引到数组位置.例如.一个包含 16 个元素的 bitsize 4 的数组将/可能如下所示: |0|1|2|4|8|3|5|6|9|10|12|7|11|13|14|15| 其中元素按其汉明权重(必要)分组并根据大小(非必要)排序.只要您可以进行排序,就没有必要进行排序.3(0011 ..
发布时间:2021-12-21 23:44:46 其他开发

大缓冲区的位弹出计数,使用 Core 2 CPU (SSSE3)

我正在寻找在 512 或更多字节的大缓冲区上进行 popcount 的最快方法.我可以保证任何所需的对齐,并且缓冲区大小始终是 2 的幂.缓冲区对应于块分配,因此通常这些位要么全部设置,要么没有设置,或者大部分设置有利于缓冲区的“左",与偶尔有坑. 我考虑过的一些解决方案是: GCC 的 __builtin_popcountBitslice popcount_24words 计数位设 ..
发布时间:2021-12-20 16:17:05 其他开发

如何计算 32 位整数中设置的位数?

代表数字 7 的 8 位如下所示: 00000111 设置了三个位. 确定 32 位整数中设置位数的算法是什么? 解决方案 这被称为“汉明权重"、“popcount"或“横向加法". 有些 CPU 有一个单一的内置指令来完成它,而另一些 CPU 则具有作用于位向量的并行指令.像 x86 的 popcnt(在支持它的 CPU 上)这样的指令几乎肯定会对于单个整数最快.其他一些 ..

计算方格的汉明距离和重量

是否有一种很好的方法来计算sqlite中的汉明距离和重量?它支持按位运算符,但我想根据汉明权重对结果进行排序,并且在sqlite中不支持位计数. 更详细地说,假设我有这些行: 1011 1000 1100 0011 并给出第一行(1011)的结果,我想得到的最后一行(0011)如果与它们相加,则得出的数字最多. 在我的情况下,数字的长度约为650位,我大约有3500行. 我已经找 ..
发布时间:2020-06-17 19:22:48 数据库

查找具有特定汉明重量的下一个数字

给定一个整数 x ,我想计算下一个 更高一个整数 y 汉明体重 w .请记住,x的汉明权重也必须是w. 因此,例如x = 10(1010)且w = 4,结果应为y = 15(1111). 很显然,我可以通过增加x来实现这一点,但这对于高数字来说是一个非常慢的解决方案.我可以通过某种方式的移位来实现吗? 解决方案 有以下三种情况:汉明权重(又称按位人口数)减少,不变或增加. ..
发布时间:2020-05-26 19:24:16 其他开发

带Core 2 CPU(SSSE3)的大型缓冲区的位弹出计数

我正在寻找在512或更多字节的大型缓冲区上弹出计数的最快方法.我可以保证任何需要的对齐方式,并且缓冲区大小始终为2的幂.缓冲区对应于块分配,因此通常这些位要么全部置位,要么未置位,要么大多设置为有利于缓冲区的“左",偶有漏洞. 我考虑过的一些解决方案是: GCC的 __builtin_popcount Bitslice popcount_24words 计数位数,这是Brian K ..
发布时间:2020-05-21 20:25:48 其他开发

Matlab中的整数列表的汉明权重

一个简单的问题:我有一个整数列表,例如, a = [7 8] 现在我想要一个单独的列表,其中包含汉明重量(即汉明重量) 列表中每个整数的二进制表示形式的1位数字).这意味着上面的整数列表的结果应如下所示: res = [3 1] 有人知道我如何快速做到这一点吗? 解决方案 这有点棘手,但可以: res = sum( dec2bin(a).' == '1' ); ..
发布时间:2020-05-06 14:15:01 其他开发

典雅确定是否多于一个的布尔值为"真"

我有一组五个布尔值。如果其中一个以上的是真实的我想excecute一个特定的功能。什么是你能想到的,最优雅的方式,可以让我在一个if()语句检查此条件?目标语言是C#,但我很感兴趣,在其他语言的解决方案(只要我们不是在谈论具体的内置函数)。 一个有趣的选择是将布尔值存储在一个字节中,执行右移,并与原来的字节比较。类似如果(myByte&安培;及(myByte>> 1))(?通过bit ..
发布时间:2016-08-28 14:14:40 C#/.NET

C code到计数unsigned char型的“1”比特数

我需要C code返回在C. unsigned char类型,我需要一个解释,为什么它的作品,如果它不是很明显1的数量。我发现了很多code为一个32位的号码,但没有多少unsigned char类型。 解决方案 同样code将为unsigned char类型的工作。遍历测试他们所有位。请参见这个。 ..
发布时间:2016-08-18 14:51:50 C/C++

海明重量基于索引

假设我们有 bitsize N = 4的整数; 结果 我所描述的问题是,你将如何去索引一个数字,根据汉明权值,并将其值数组位置知道 bitsize 。例如。 与bitsize 4月16日元素的数组会/可能是这样的: | 0 | 1 | 2 | 4 | 8 | 3 | 5 | 6 | 9 | 10 | 12 | 7 | 11 | 13 | 14 | 15 | 其中元素可以通过汉明权(必要 ..
发布时间:2016-08-18 12:59:22 C/C++

在MATLAB计算效率重量海明

给定一个MATLAB UINT32是PTED作为一个位串间$ P $,什么是计算有多少非零位字符串中的高效和简洁的方式? 我有哪些循环在位的工作,天真的做法,但是这是我的需求太慢。 (使用的std :: bitset的数()A C ++实现运行几乎是瞬间)。 我已经找到了pretty不错页面列出了多种位计算技术,但我希望有一个简单的MATLAB的去年秋季的方式。 ..
发布时间:2016-08-07 19:42:35 开发方法

在T-SQL汉明重量/数量的人口

我在寻找一个快速的方法来计算海明重量/数量的人口/ A BINARY(1024)领域的“第1位的数字”。 MySQL有一个BIT_COUNT函数,它类似的东西。我找不到在T-SQL类似的功能? 或者,你会建议存储另一种类型的字段中的二进制数据? 如果你不知道我在说什么,这里有一个维基百科文章关于汉明权 解决方案 您可以使用一个辅助表precalculated汉明权重小的数字,如字节,那 ..
发布时间:2016-08-06 22:10:06 数据库

什么是最快的算法的计算机的二进制数相同的汉明权重的所有排列?

我想要一个算法来计算一个固定大小的二进制数所有排列与给定的汉明权重。例如,如果汉明权重为2和二进制大小为4,则有这些输出: 0011 0110 0101 1100 1010 1001 这样的组合数计算为 C(N,R)在这个例子中 C(4,2)这是6。 注意,你可以通过增加一个数字从0到2的n次方解决这个问题,看看计数确定。然而,这不是一个快速的解决方案。 我正在考虑解决在C ++中 ..
发布时间:2015-11-30 15:11:08 C/C++

如何计算在一个32位整数集的比特数?

8位重presenting 7号是这样的: 00000111 三位设置。 哪些算法来确定比特组中的32位的整数的数目 解决方案 这就是所谓的“海明重量” “popcount”或“侧身除”。 在'最好'的算法实际上取决于你是哪个CPU和你的使用模式是什么。 某些CPU有一个内置的指令做和其他人对位向量起作用的并行指令。并行指令(像86的 POPCNT ,在那里它支持的C ..
发布时间:2015-11-30 13:11:37 C/C++