for($reg3=0; $reg3<128; $reg3++)
{
$reg1[$reg3] = $reg1[$reg3]^($reg6[$reg3+256] & 1);
}
我真不明白這到底是怎麼$reg1[$reg3]^($reg6[$reg3+256] & 1);
發生發生,這將是它的vb.net等效代碼。PHP - 不能明白什麼是在這行代碼
for($reg3=0; $reg3<128; $reg3++)
{
$reg1[$reg3] = $reg1[$reg3]^($reg6[$reg3+256] & 1);
}
我真不明白這到底是怎麼$reg1[$reg3]^($reg6[$reg3+256] & 1);
發生發生,這將是它的vb.net等效代碼。PHP - 不能明白什麼是在這行代碼
它在兩個操作數之間執行bitwise XOR,其中一個操作數是通過將bitwise AND應用於其他兩個操作數生成的。除此之外,它是標準的數組索引和附加。
如果表達式的類型支持這些運算符(我們不知道變量的值是什麼),VB.Net代碼將完全相同。
感謝您的快速回復。 – 2011-03-31 18:34:12
^
和&
是二元/位運算符 - 更這裏:Bitwise Operators
^
- XOR(異或)
&
- 而
我猜這是重新編譯代碼或混淆 - 如果不是,一些可怕的變量名稱。
切換爲更傳統的變量名:$reg3
- >$i
,$reg1
- >$a
,$reg6
- >$b
我們得到:
for($i=0; $i<128; $i++) {
$a[$i] = $a[$i]^($b[$i+256] & 1);
}
它經過數組的第128個元素(或者字符串)$a
。對於每個元素,將它(^ ($b...
)與最後一位(& 1
)異或的數組(或字符串)$b
與256進一步放在一起。 $a
必須至少有128個元素,$b
必須至少有384個元素。
&是一個按位運算符和。
^是一個按位運算符XOR運算符。
回滾:OP詢問'vb.net'中的等價物是什麼,所以我認爲標籤有權在那裏。 – Jon 2011-03-31 18:02:21