gpt4 book ai didi

perl - 为什么简单的 XOR 在 Perl 中不起作用?

转载 作者:行者123 更新时间:2023-12-05 00:50:06 32 4
gpt4 key购买 nike

my $list = "1 3";
my @arr = split " ", $list;
my $c = $arr[0] ^ $arr[1];
print $c, "\n";

上面给出了一个异常的字符。

它应该给出答案为 2,因为 1 XOR 3 是 2。

最佳答案

^ 考虑其操作数的内部存储格式来确定要执行的操作。

>perl -E"say( 1^3 )"
2

>perl -E"say( '1'^'3' )"


后者对字符串的每个字符进行异或运算。
>perl -E"say( chr( ord('1')^ord('3') ) )"


您可以通过添加零来强制数字化。
>perl -E"@a = split(' ', '1 3'); say( (0+$a[0])^(0+$a[1]) )"
2

>perl -E"@a = map 0+$_, split(' ', '1 3'); say( $a[0]^$a[1] )"
2

从技术上讲,您只需要将其中一个操作数设为数字。
>perl -E"@a = split(' ', '1 3'); say( (0+$a[0])^$a[1] )"
2

>perl -E"@a = split(' ', '1 3'); say( $a[0]^(0+$a[1]) )"
2

关于perl - 为什么简单的 XOR 在 Perl 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529409/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com