标签: parity

CPU上奇偶校验标志的用途是什么?

某些CPU(特别是x86 CPU)在其状态寄存器中具有奇偶校验标志.该标志指示操作结果的位数是奇数还是偶数.

奇偶校验标志在编程环境中起什么实际用途?

旁注: 我假设它打算与奇偶校验位一起使用以执行基本的错误检查,但是这样的任务似乎并不常见,以保证整个CPU标志.

assembly cpu-architecture parity eflags

17
推荐指数
3
解决办法
7066
查看次数

计算奇偶校验

我不完全理解这种计算奇偶校验位的算法.有人可以详细解释一下吗?

以下代码取自"Hacker's Delight"一书:

int parity(unsigned x) {
   unsigned y;
   y = x ^ (x >> 1);
   y = y ^ (y >> 2);
   y = y ^ (y >> 4);
   y = y ^ (y >> 8);
   y = y ^ (y >>16);
   return y & 1;
}
Run Code Online (Sandbox Code Playgroud)

bit-manipulation parity bitwise-xor

10
推荐指数
2
解决办法
1万
查看次数

如何检查排列是否具有相等的平价?

我正在寻找一种方法来检查2 个排列(由列表表示)是否具有相同的奇偶校验.请注意,如果它们是偶数奇数奇偶校验,我就不感兴趣,只是相等.

我是Python新手,我的天真解决方案在下面作为回复给出.我期待Python专家向我展示一些很酷的技巧,以便在更小,更优雅的Python代码中实现相同的功能.

python list permutation parity

9
推荐指数
3
解决办法
3892
查看次数

用controlTransfer方法设置奇偶校验

有谁知道如何在Android中使用controlTransfer设置奇偶校验?

我无法在任何地方找到此方法参数的解释 - 只是ref中的一些通用信息.

我发现的一个例子是:

conn.controlTransfer(0x40, 0x04, 0x0008, 0, null, 0, 0);    //data bit 8, parity none, stop bit 1, tx off
Run Code Online (Sandbox Code Playgroud)

但我需要改变平价.有人有想法吗?

非常感谢!

android serial-port usbserial parity

8
推荐指数
1
解决办法
5965
查看次数

奇数位的位奇偶校验码

我试图找到一个位串的奇偶校验,如果x有一个奇数#为0,它返回1.
我只能使用基本的按位运算,到目前为止,我已经通过了大部分测试,但我想知道两件事:

  1. 为什么x ^(x + ~1)有效?我偶然发现了这个问题,但如果有奇数个位,那么它似乎会给你1,如果是偶数则会给你一些东西.像7 ^ 6 = 1,因为7 = 0b0111

  2. 这是解决问题的正确方向吗?我假设我的问题源于第一次操作,特别是(x + ~1),因为它会溢出某些2的补码数.谢谢

码:

int bitParity(int x) {
    int first = x ^ (x + ~1);
    int second = first ^ 1; // if first XOR gave 1 you'll return 0 here
    int result = !!second;
return result;
}
Run Code Online (Sandbox Code Playgroud)

c bit-manipulation bit parity

7
推荐指数
1
解决办法
1万
查看次数

计算Ruby中一个字节的奇偶校验

在Ruby中计算字节是否具有奇数或偶数奇偶校验的最佳方法是什么?我有一个版本工作:

result = "AB".to_i(16).to_s(2).count('1').odd?
=> true
Run Code Online (Sandbox Code Playgroud)

将数字转换为字符串并计算"1"似乎是计算奇偶校验的一种不好的方法.有更好的方法吗?

我希望能够计算3DES密钥的奇偶校验.最终,我想将偶数字节转换为奇数.

谢谢,丹

ruby 3des des parity

6
推荐指数
1
解决办法
1389
查看次数

使用mark/space parity和parity none之间有什么区别?

创建三种类型的奇偶校验位的目的是什么,所有奇偶校验位都定义了奇偶校验位未被精确使用的状态?

"如果存在奇偶校验位但未使用,则可将其称为标记奇偶校验(当奇偶校验位始终为1时)或空间奇偶校验(该位始终为0)" - 维基百科

serial-port bit parity

6
推荐指数
2
解决办法
8441
查看次数

是否有任何理由使用(nr&1 == 0)超过(nr%2 == 0)来检查奇偶校验?

性能有任何实际差异吗?它更快吗?(假设我在同一个程序中的至少100个案例中使用它,它会在速度方面改进我的程序吗?)

bit-manipulation parity bitwise-and

6
推荐指数
1
解决办法
93
查看次数

选择EFLAGS位的概率

我们都知道,在查看源代码时,可以安全地假设方向标志清晰.方向标志的概率非常低.

我想了解其他旗帜的可能性.这就是为什么我编写了一个测试程序,它单步执行我现有的一些软件,为前12个EFLAGS位中的每一个增加一个计数器.

x86处理器标志的概率

结果证实了关于方向标志(DF)的假设,并且毫不奇怪地表明溢出标志(OF)的概率非常低.

但其他旗帜怎么样?进位标志(CF),辅助标志(AF),零标志(ZF)和符号标志(SF)似乎稳定在25%,但奇偶校验标志(PF)跳出超过50%.

我想知道为什么CF,AF,ZF和SF的概率如此之低.

对于PF,我自己的两分钱解释告诉我,鉴于所有可能的8位位模式中的奇偶校验偶数和奇偶校验的50-50分布并且意识到一些最常用的数字(0和-1)具有甚至平价,超过50%的机会是合理的.

x86 assembly flags parity

6
推荐指数
1
解决办法
127
查看次数

奇偶校验GUI错误(getTransactions TypeError:无法获取)

我正在运行连接到自定义区块链(PoA)的奇偶校验对等体,但我无法发送交易,也无法查看我的帐户的交易列表.我收到以下错误(请参阅错误屏幕截图):

  • 请求的资源上不存在"Access-Control-Allow-Origin"标头.
  • 406
  • getTransactions TypeError:无法获取

这些错误指向CORS问题,但所有的配置我试过CORS( ,"all","null","*","none")"http://example.com:8540"导致了同样的结果.在本地运行对等体和远程运行它从我的电脑上访问GUI时,我得到相同的结果.所有列出的端口都在防火墙中打开.Chrome扩展程序已停用; 也在隐身模式下尝试过.我也尝试添加命令行选项--unsafe-expose无济于事.

这是我在远程机器上的toml(运行Ubuntu):

[parity]
chain = "pcplExternal.json"
base_path = "/home/mike/parity"
[network]
port = 30303
[rpc]
hosts = ["all"]
port = 8545
interface = "0.0.0.0"
cors =["all"]
apis = ["web3", "eth", "net", "personal", "parity", "parity_set", "traces","rpc", "parity_accounts"]
[ui]
force = true
port = 8540
interface = "0.0.0.0"
path = "/home/mike/parity/signer"
[websockets]
origins = ["all"]
apis = ["web3", "eth", "pubsub", …
Run Code Online (Sandbox Code Playgroud)

user-interface parity cors ethereum

6
推荐指数
1
解决办法
182
查看次数