问题标签 [hamming-code]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 堆栈周围的变量损坏
它因调试错误而崩溃,并说变量“代码”周围的堆栈已损坏。这是我正在做的汉明代码实验室的代码。输入文件只是同一行上的一堆 1 和 0。为什么会崩溃?
c - 汉明码校验奇偶校验
我不确定我是否为我编写的校验奇偶校验位函数正确计算奇偶校验位。代码字长 11 个字符,有 4 个奇偶校验位和 7 个数据位。实施看起来不错吗?
hamming-code - 错误检测和纠正
我的消息位是10011010
,所以代码字是0110
,现在代码字是011100101010
。
假设错误在第 10 位,它变成011100101110
,所以找到奇偶校验位:
与消息相比,4 位和 8 位的奇偶校验为假,即 4+8=12,但实际上我们在 10 位中出错了。我在哪里犯了错误?
c++ - 布尔乘法与异或,非或(使用特征矩阵库)
我正在尝试实现汉明纠错码,为此我需要获取一个布尔向量(数据)并将其与一个布尔矩阵(汉明生成矩阵)相乘,执行 XOR 运算(而不是看起来像 OR Eigen 的默认布尔行为)。在这个简单的教程中可以找到我正在做的一个例子:http: //michael.dipperstein.com/hamming/
我不一定要使用 Eigen,所以如果您有解决方案,请随时提出 Eigen 以外的建议。
例如,一些 C++ 代码可以编译,但不能以正确的方式工作:
目前导致:1 1 1 1 0 1 0
但我需要:1 0 1 1 0 1 0
不同之处在于默认行为是相乘,然后对每个相乘进行 OR。由于我需要 XOR 而不是 OR,想知道使用 Eigen 执行此操作的最佳方法是什么?
如果这没有意义,很高兴尝试和详细说明。
顺便说一句,不确定这是否重要,但我正在使用 G++ 开发 MacBook Air。今天刚刚下载了 Eigen,所以它的概率是最新的(eigen3)
谢谢你,
基思
更新:鉴于下面接受的解决方案,我想重新发布正确的代码作为人们的参考:
assembly - NASM汉明距离
我编写了这个汇编代码来确定用户输入的两个字符串之间的汉明距离。我对汇编一点也不熟悉,这是我除了写helloWorld之外的第一次尝试。
我认为除了打印两个字符串之间的距离之外,代码应该是正确的。
我认为这是我的错误所在:
python - 计算文件的汉明码
我正在尝试用汉明代码(python 语言)对 .txt 文件中存在的数据进行编码。我该怎么办?我需要逐行读出数据,转换成ascii字符,然后在上面计算汉明码。或者python中是否有任何函数或库可以作为一个窗口并且可以对整个文件进行操作?
非常感谢您的回复。比你提前。
编辑:场景是客户端服务器架构。客户端在计算数据的汉明码后尝试将文件上传到服务器并将其存储在服务器中。稍后,当它尝试取回文件时,它会检查汉明码并检测可能发生的任何错误。
java - 汉明码:奇偶校验位数
我正在尝试在java中编写一个方法,该方法将输入任意数量的0或1位数字,并在使用汉明码编码后输出该行。
在知道输入将具有的位数(在本例中为 16)时,我设法编写了代码,因为知道输入中的位数,我立即知道必须添加的奇偶校验位的数量(本例中为 5 case) 到最终输出中总共 21 位数字。我正在使用 int 数组,所以我需要在开始时声明一个大小,我的代码基于这些确切的大小工作。
你们能想到任何方式/算法,可以仅根据输入位数给我输出将具有的位数(在将相关奇偶校验位数添加到输入位数之后)吗?
还是我必须以完全不同的方式解决这个问题?有什么建议么?先感谢您!
干杯!
python - python中的汉明码解码器?
我正在尝试比较 python 中汉明码的三种不同解码器:蛮力、本地搜索和综合症。我的蛮力实施有问题:
这运行没有错误,但是当输入是向量时,输出只是[]
,而不是任何二进制数序列bruteForce([1,0,0,0,0,0,1])
。
hamming-code - 汉明码公式
这是问题:
确定汉明码 (15,10)、(14,10) 和 (13,10) 是否可以纠正单个错误 (SEC)、检测单个错误 (SED) 或检测双位错误 (DED)。
我确实知道汉明距离是如何工作的,以及如果您有要传输的数据字,您如何检测错误。但是如果没有数据字,我不知道该怎么做。
仅适用于具有以下公式的 SEC:
2^m > m+k+1
在哪里
m = 校验位 k = 数据位
但是 SED 和 DED 有什么公式吗?我整天搜索谷歌没有任何成功。
c++ - 我为类编写了这个汉明编码代码。为什么这么慢?
我为我的操作系统类写了这个:
然后我决定在詹姆士国王圣经中的旧约圣经上测试它的速度(只是为了看看)。这是我们用 Java 教授的数据结构类的标准测试文件,我们几乎可以立即对其进行排序和 Huffman 编码,但这需要相当长的时间来编码。到底是怎么回事?