3
我有這樣的AWK代碼:awk和()操作
val = and($1, 0x03FFFFFF) + $2
我寫的Perl版本是這樣的:
$val = ($1 && 0x03FFFFFF) + $2;
此行的一樣嗎?
我有這樣的AWK代碼:awk和()操作
val = and($1, 0x03FFFFFF) + $2
我寫的Perl版本是這樣的:
$val = ($1 && 0x03FFFFFF) + $2;
此行的一樣嗎?
不太 - 你想要一個&
,不&&
:
$val = ($1 & 0x03FFFFFF) + $2;
請注意,你是在正確的parenthesis are needed due to precedence
的詳細信息:
您的awk表達式使用在gawk manual的ch中定義的and()
。 「8.1.6 GAWK的位操作函數」 正是如此:
和(V1,V2)=======返回按位由v1和v2提供的值和。
因此,在Perl你想要一個位 「與」;不其中根據perldoc perlop邏輯一,是單個符號:「&
」
Perl附帶A2P果然AWK成Perl代碼。 – 2013-05-12 15:42:27