标签: bitwise-xor

一次对多个整数应用按位运算符

我有一个整数列表,可以有任意数量的项目。现在,我想计算所有这些数字的 BITWISE XOR。如果数字已经知道,可以按如下方式完成:

int xor = 10 ^ 25 ^ 40 ^ 55......and so on
Run Code Online (Sandbox Code Playgroud)

但是当元素数量未知时,我无法在运行时为列表的每个元素动态实现它。我想一次对所有时间应用按位异或,而不是一次两个。

c# bit-manipulation bitwise-operators bitwise-xor

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

当我尝试在 Rust 中使用幂运算符时,它给出了奇怪的结果。为什么?

我正在尝试在 Rust 中实现复杂步骤微分。然而,当将复数提高到高于 2 的幂时,我得到的结果与 Julia 完全不同。该算法在 Julia 中适用于任何函数,但在 Rust 中,它仅适用于二阶函数。

以下是我用两种语言计算虚数幂的方法。

在铁锈中:

let x: f64 = 1.0;
let h: f64 = f64::from(1*10^-8);

println!("Result = {:?}", (num::pow(Complex::new(x,h),3));
// Complex { re: -587.0, im: 2702.0 }
Run Code Online (Sandbox Code Playgroud)

在朱莉娅:

h = 1*10^-8
x = 1
println((x+im*h)^3)
# 0.9999999999999997 + 3.000000000000001e-8im
Run Code Online (Sandbox Code Playgroud)

我不知道如何做到这一点,所以非常欢迎任何帮助。

exponentiation rust bitwise-xor

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

如何在 bash 脚本中异或两个十六进制数字?(异或加密)

我编写了一个操作十六进制值的bash脚本,我需要在两个十六进制数字之间进行异或运算。我的问题是,当我在 bash 提示符中尝试时,它可以工作并返回正确的值,但在脚本中该值是 false。

当 XOR 变量 $ExtendAuthKey 和 $IPAD 时,结果必须为: 181ad673a5d94f0e12c8894ea26381b363636363636363636363636363636363636363636363636363636363636363636363636363 636363636363636363636

但事实上我得到这个值:3906369333256140342

我不明白这种行为,如果你有解释或解决方案,我会接受,谢谢

看我的脚本:`

#!/bin/bash

AuthID=80001f8880e9bd0c1d12667a5100000000

IPAD=0x36363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636
OPAD=0x5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c5c
Ext0=0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

WholeMsgIn=0x3081800201033011020420dd06a7020300ffe30401050201030431302f041180001f8880e9bd0c1d12667a5100000000020105020120040475736572040c00000000000000000000000004003035041180001f8880e9bd0c1d12667a51000000000400a11e02046b4c5ac20201000201003010300e060a2b06010201041e0105010500

line=test

#Calcule AuthKey
  AuthKey=$(snmpkey md5 $line $AuthID | grep auth | cut -d ' ' -f 2)

#Concat AuthKey + Ext0
  ExtendAuthKey=$AuthKey${Ext0:2}

#Calcule de K1 = ExtendAuthKey XOR IPAD
  K1=$(( $ExtendAuthKey ^ $IPAD ))

#Calcule de K2 = ExtendAuthKey XOR OPAD
  K2=$(( $ExtendAuthKey ^ $OPAD ))

#Concat K1 + WholeMsgIn
  Concat1=$K1$WholeMsgIn

#Calcul Hash Concat1
  echo ${Concat1:2} > tempH.hex …
Run Code Online (Sandbox Code Playgroud)

encryption bash xor encryption-symmetric bitwise-xor

0
推荐指数
1
解决办法
6259
查看次数

Python 3 XOR 字节数组

python 3中是否有可以bitwise-xor字节的内置函数?例如,如果我有 2 个字节数组:

one = oE1ltQSsoEqRC4j1EMz1ORU1dyucIcI4WstKz-uhuKA=
two = Rffs1PW5zA1h5RFVh5MkLw5R7a2QVHY7cwnjuSPktwc=

one XOR two = 5bqJYfEVbEfw7pmgl1_RFhtkmoYMdbQDKcKpdshFD6c=
Run Code Online (Sandbox Code Playgroud)

python python-3.x bitwise-xor

0
推荐指数
1
解决办法
7657
查看次数

如何在 C 语言中进行按位 XNOR

XNOR我在编写最多包含 7 个~和运算符的按位函数时遇到困难|。例子:bitXnor(6, -5) = 2。如果没有 ,我该如何做到这一点&

到目前为止我有这个:

int bitXnor(int x, int y) {
  return ~(~x | ~y);
Run Code Online (Sandbox Code Playgroud)

但我收到错误:

int bitXnor(int x, int y) {
  return ~(~x | ~y);
Run Code Online (Sandbox Code Playgroud)

c bit-manipulation xor bitwise-xor

-1
推荐指数
1
解决办法
159
查看次数

在ADD,SUB,AND方面实现XOR并在相等/不相等的分支上实现?

我有一个关于在ADD/SUB和分支方面实现XOR的面试问题:在两个数字之间实现Xor操作仅使用以下命令:

  1. 分支如果相等
  2. 分支如果不相等

您可以使用寄存器r3和r4作为额外空间.假设寄存器r1存储第一个数字,r2存储第二个数字

bit-manipulation xor bitwise-xor

-3
推荐指数
2
解决办法
509
查看次数

在比特操作中使用时到底做了什么?

有什么区别~iINT_MAX^i 两者给出相同的没有.在二进制,但当我们打印否.输出不同,如下面的代码所示

#include <bits/stdc++.h>
using namespace std;
void binary(int x)
{
int i=30;
while(i>=0)
{
    if(x&(1<<i))
      cout<<'1';
    else
      cout<<'0';
    i--;  
}
cout<<endl;
}
int main() {
  int i=31;
  int j=INT_MAX;
  int k=j^i;
  int g=~i;
  binary(j);
  binary(i);
  binary(k);
  binary(g);
  cout<<k<<endl<<g;
 return 0;
}
Run Code Online (Sandbox Code Playgroud)

我把输出作为

1111111111111111111111111111111
0000000000000000000000000011111
1111111111111111111111111100000
1111111111111111111111111100000  
2147483616
-32
Run Code Online (Sandbox Code Playgroud)

为什么k和g不同?

c++ bit-manipulation bit-shift bitwise-operators bitwise-xor

-11
推荐指数
1
解决办法
126
查看次数