问题标签 [parity]

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.

0 投票
1 回答
582 浏览

python - 反转加密算法,将字符串中的每个字符与另一个字符进行异或,使用奇偶校验来控制偏移量

我已经从我正在调查的挑战二进制文件中反转了以下算法:

本质上,它将每个字符与字符串中的另一个字符进行异或,偏移量为a. a初始值为10,因为函数迭代字符串中的字符,a +=1如果字符的值是偶数还是a -= 1奇数。

我已经在脑海中想出了如何反转这个密码并检索纯文本,它需要使用递归函数来找出原始字符串中哪些字符偏移是偶数/奇数。IE:给定 XOR % 2 的性质,我们现在如果cipher[0]是奇数,则要么是奇数,plain[0]要么plain[10]是奇数,但不是两者都是。类似地,如果cipher[0]是偶数,那么两者plain[0]都是plain[10]偶数,或者都是奇数。从那里递归算法应该能够完成其余的工作。

一旦我们知道明文中的哪些字符是偶数/奇数,反转其余的就很简单了。我已经花了几个小时来解决这个问题,但现在我无法实现它。

我过去使用过基本的递归算法,但从来没有任何“分支”来解决这样的问题。

给定一个cipher由这个函数产生的字符串,我们如何使用递归算法来确定原始纯字符串中每个字符的奇偶性?

编辑:很抱歉,为了明确并回应评论,在我对此挠了几个小时后,我认为上面概述的递归策略将是解决这个问题的唯一方法。如果不是,我愿意接受任何提示/帮助来解决标题问题。

0 投票
1 回答
398 浏览

c++ - 如何以二进制表示整数,以便可以使用 XOR 进行比较?

我必须创建一个采用 1-6 位二进制的代码,如果字符串不是 6,则用 0 填充最高有效位,并使用 XOR 操作比较 2 个 3 位数据包。输出很奇怪,我认为这是因为我在进行 XOR 时比较的是整数 0,而不是二进制数 0,它搞砸了。

0 投票
1 回答
1504 浏览

stm32 - STM32F427 的 USART1 有时会将第 8 个数据位设置为奇偶校验位

我正在STM32F427通过以下课程使用 UASRT1:

问题是 USART 时不时地开始忽略实际的第 8 个数据位并将其设置为奇偶校验位(具体来说是奇校验)。最奇怪的是,即使在长时间断电后,有时也会发生这种情况,而无需事先进行任何重新编程或其他操作。例如昨天晚上一切正常,然后第二天早上我来上班,打开设备,它开始按照描述的方式工作。但不限于此,下次重启后可能会随机出现。

使用示波器和用于不同程序的不同 UART-USB 转换器可以清楚地看到这种效果。一旦出现这种效应,甚至可以重新编程微控制器以传输测试数据集。例如,0x00 到 0xFF 无限循环。它不影响问题。改变速度(低至 9600 bps)、每个字的位、奇偶校验控制无济于事 - 即使在重新编程后效果仍然保持不变(例如,导致每个字节真正异常的 2 个奇偶校验位)。或者,至少,根据我的程序的工作流程,UASRT 正在初始化并以通常的顺序使用。

修复它的唯一方法是让 main() 函数执行以下操作:

有了这个,在重新编程和重新启动后,前几个字节(最多 5 个)被传输,但随后一切正常,并通过进一步的重新启动和重新编程继续正常工作。

STM32F427在相同布局的 2 个物理上不同的板上的2 个不同的 s 上观察到这种效果。它的外观没有规律性。信号极性和电平符合 USART 要求,在调查期间未检测到噪音或接触不良。从我的程序中使用的其他代码(无论是我的还是库代码)的方向来看,UASRT1 似乎没有任何影响,或者它被深深地掩埋了。在项目中CMSIS-OS用作 RTOS,带有Keil uVision 5.0.5.RTX OS

需要帮忙。

0 投票
1 回答
666 浏览

case - CASE奇校验检查器

我是 vhdl 的新手,正在尝试在进程中使用 Case 编写 vhdl 奇偶校验检查器。当我编译时没有错误,但输出的输出矢量波形由于某种原因是平坦的。我究竟做错了什么?有人可以帮助我或为我指明正确的方向吗?还有另一种方法吗?

这是我的代码:

输出为:0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

但应该是: 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1

谢谢

0 投票
1 回答
225 浏览

algorithm - 使用通用汉明算法进行奇偶校验位检查

在逻辑电路中,我有一个 8 位数据向量,该向量被馈送到 ECC IC 中,我应该为其开发逻辑,并且包含 5 个奇偶校验位的向量。我开发逻辑(使用逻辑门,XOR)的第一步是找出哪个奇偶校验位将检查哪些数据位(因为它们是交错的)。我使用偶校验,并遵循一般汉明码规则(每 2^n 一个奇偶校验位),我得到以下输出序列:

P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5

遵循通用汉明算法:

对于每个奇偶校验位,位置 1、2、4、8、16 等等...(2 的幂),我们跳过第一个位置 n (n-1) 并检查 1 位,然后我们跳过另一个,检查另一个,等等......我们对其他位重复相同的过程,但这次每 2^n 检查/跳过一次,其中 n 是它们在输出数组中占据的位置 ( P1 P2 D1 P3 D2 D3 D4 P4 D5 D6 D7 D8 P5)

按照该约定,我得到:

P1 Checks data bits -> XOR(3 5 7 9 10 12) P2 Checks data bits -> XOR(3 6 7 10 11) P3 Checks data bits -> XOR(5 6 10 11 12) P4 Checks data bits -> XOR(9 10 11)

我对吗?让我感到困惑的是,如果我应该开始检查将奇偶校验位计数为应该检查的 2^n 位之一,或者该特定奇偶校验位之后的 1 位。几乎可以概括为是否具有包容性。

提前谢谢你的帮助!

干杯!

0 投票
2 回答
1653 浏览

python - 使用 Pyserial 时出现字符转换错误

我一直在编写一个脚本,它会定期从串行设备中提取数据。除了我从设备收到的回复包含许多问号外,我一切正常。由于根据设备的文档(正确的字符数、逗号的位置等),我得到的格式是正确的。我很确定我的代码以某种方式解释了错误的字符。这是我的代码:

和用户手册的示例输出:

以及输出的样子:

特别值得注意的是,在我的输出的最后一行,与从串行设备读取的输出连接的代码中的“>>”更改为“?>”,这有点令人困惑。作为参考,手册指定端口应配置如下:

*波特率:9600 *字符位:1 个开始,7 个数据,1 个奇偶校验,1 个停止 *奇偶校验:奇数 *终止符:CR(0DH) LF(0AH)

我已经尝试了端口设置的所有合理排列。看起来这可能是一个奇偶校验问题(正如我看到的其他具有类似外观的输出,这归因于在线奇偶校验错误),但我已经尝试了所有可用的奇偶校验设置。我想知道它是否可能与起始位有关,因为这是我唯一无法通过 Pyserial 控制的事情。

很抱歉这篇冗长的帖子,并提前感谢您的任何/所有帮助!

0 投票
0 回答
32 浏览

c++ - 具有二维奇偶校验位的 TCP 客户端/服务器 c++

我在那里遇到了一个问题,希望你能帮助我。我需要使用 asio http://think-async.com/和基于流的输入输出来对 TCP 客户端和服务器进行编程。但是,我还需要使用二维奇偶校验位(DATA、ACK、NAK)进行错误检查,我不知道如何做到这一点。

希望你能帮助我。

0 投票
0 回答
125 浏览

c++ - 非增强 asio 检查错误 C++

有没有办法使用 tcp 检查非 boost asio 程序中的错误?有没有办法随机向连接添加错误?我用 C++ 制作了一个简单的 Echo 服务器,现在我必须生成随机错误,但问题是我不知道如何。

或者如果这有更多帮助,我需要检查二维奇偶校验(DATA、ACK、NAK)。

希望您能够帮助我。

客户:

服务器:

0 投票
0 回答
33 浏览

parity - 实际需要多久进行一次奇偶校验?(这种错误多久发生一次?)

我知道有各种系统用于执行错误检查,以便可以恢复或至少识别损坏的数据,但是这种损坏多久发生一次?是否需要进行奇偶校验或只是一种预防措施?

0 投票
1 回答
1714 浏览

regex - 正则表达式偶校验

我正在尝试制作一个正则表达式,它将与一个数字匹配,其总和是奇偶校验,是偶数。所以 802 (8+0+2) 是偶数,而 902 (9+0+2) 是奇数。显然,有一个算术定律可以在不计算或违反任何 Regex 规则的情况下执行此 Regex。我为偶数制作了一个正则表达式,但不是为偶数奇偶校验。

编辑:允许接受前导零,数字可以是任意长度(显然小于 int 在大多数语言中的最大大小)

谢谢!