gpt4 book ai didi

perl - awk and() 运算符

转载 作者:行者123 更新时间:2023-12-01 23:19:22 33 4
gpt4 key购买 nike

我在 awk 中有这样一段代码:

val = and($1, 0x03FFFFFF) + $2

我写的 Perl 版本是这样的:

$val = ($1 && 0x03FFFFFF) + $2;

这条线是一样的吗?

最佳答案

不完全是 - 你想要一个 &,而不是 &&:

$val = ($1 & 0x03FFFFFF) + $2; 

请注意,您是正确的 parenthesis are needed due to precedence


更详细:

  • 您的awk 表达式使用and(),它在gawk manual 中定义|的 channel 。 “8.1.6 gawk 的位操作函数”因此:

    and(v1, v2) ======= Returns the bitwise AND of the values provided by v1 and v2.

  • 因此,在 Perl 中您需要一个按位“与”;不符合逻辑,根据perldoc perlop是一个符号:“&

关于perl - awk and() 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5784069/

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