PHPアナログシフトオペレータのJavaScript

ブロガーこれらの日フィドル爬虫類、いくつかのサイト変態暗号化アルゴリズム(方法Tucao 1 :!あなたは本当に非常にフレンドリーなサイト)をシミュレートする必然的な必要性。

そうビットの暗号化アルゴリズムであるので、操作の不可欠な部分です。比較のためにジャバスクリプト、PHPない >>>このような符号なし右シフト演算子であり、さらに平均<< >>左と右シフト演算、PHPのJavaScriptよい演算結果と異なっています。あなただけのオペレータの演奏JS変位のアイデアをシミュレートすることができます。

インターネットの周りのクロールとstackoverflowの上のポスト(ポータル)は、この問題について話してい、いくつかのポストのステッカーがあり >>> コードオペレータの実装を。残念ながら、私は唯一のラインまで所有することができ、理解していなかったと(ポストに戻った、と偶然友人はそれをあきらめました)。

そして、次のコードがあります。あなたと同じ混乱の遺産を持っている場合(10W行わnodejsと各機能 + 回の試験では問題になりません)。

/ * * 
 * >>> x86_64版ではJavaScript PHPの演算子
 * @paramます$ Vはint 
 * @param int型$のn 
 * @returnはint 
 * / 
関数 RRR($ V$ N- 
{ 
  リターン$ V&0xFFFFFFFFの)>>($ N&0x1Fの); 
} 

/ * * 
 * >> PHP x86_64ではJavaScript演算子
 * @param INT $ V 
 * @param INT $ N 
 * @returnのINT 
 * / 
関数 RR($ V$ nの
{ 
  $ V = $のV&0x80000000の?$のV | 0xFFFFFFFF00000000:$のV&0xFFFFFFFFを

  リターン の$ V >>($ N&0x1Fの); 
} 


/ * * 
 PHPのx86_64版では*、<<演算子はJavaScript 
 * @param int型$ V 
 * @param int型$ N 
 * @return int型
 * /
関数 LL($ V$ N- 
{ 
  $ T =($ V&0xFFFFFFFFの)<<($ N-&0x1Fの); 

  返す $ T&0x80000000の?$ T | 0xFFFFFFFF00000000:$ T&0xFFFFFFFFの; 
} 
PHP JavaScriptに供給されますカンマ演算子()シミュレーション、あなたが知っています。

変換効果(PHPのJS):
IF(I = 0、J = 1、K = 2){}にIF(カンマ($ I = 0、$ Jは = 1、$ K = 2 )){}
 
/ * * 
 @param ... * 
 * @returnミックス
 * /
関数カンマ()
{ 
  $ argsをする =のfunc_get_args ();
   を返す エンド$ argsを); 
} 
最後に、なぜPHPで爬虫類のですか?

PHPは、世界で最高の言語であり、私たちはどんな反論を受け付けません。
PHPの文法やJavaScriptなどのより、私は簡単にそれの一部を移植したいです。
私はPHP、あなたに満足だろうか?
コードを避けるためには、水平スクロールバーは、4つのスペースインデントするふりをしてください表示されます - 

 
 
ネオ鵬:著者
このリンク:HTTPS// zhile.io/2018/06/21/php-equivalent-javascript-bitwise-operators.htmlを 
免責事項:特に指定のない限り、これは、すべての記事をブログでは4.0ライセンス-NC-ND BY CCを使用しています。ソースを示してください!

 

おすすめ

転載: www.cnblogs.com/get-rich/p/11534189.html