2017-02-27 74 views
-2

如何进行基本功能XOR运算阵列XOR运算CAL

例如: 我的$ A = “08 F6”; my $ b =“4C 6E”;

输出应该= 44 98

http://xor.pw/等?对字符串

+3

注意,不应该使用'$了'和'$ B'。它会干扰'sort'和其他潜艇。 – ikegami

回答

4

使用XOR:

my $x_hex = '08 F6'; 
my $y_hex = '4C 6E'; 

my $x = pack('(H2)*', split(' ', $x_hex)); # my $x = "\x08\xF6"; 
my $y = pack('(H2)*', split(' ', $y_hex)); # my $y = "\x4C\x6E"; 

my $z = $x^$y;        # my $z = "\x44\x98"; 

my $z_hex = join(' ', unpack('(H2)*', $z)); # my $z_hex = "44 98"; 

上的数字使用XOR:

my $x_hex = '08 F6'; 
my $y_hex = '4C 6E'; 

my @x = map { hex($_) } split(' ', $x_hex);   # my @x = (0x08, 0xF6); 
my @y = map { hex($_) } split(' ', $y_hex);   # my @y = (0x4C, 0x6E); 

my @z = map { $x[$_]^$y[$_] } 0..$#x;    # my @z = (0x44, 0x98); 

my $z_hex = join ' ', map { sprintf("%02X", $_) } @z; # my $z_hex = "44 98"; 
+0

thx为答复哥们:* –