さまざまなデータ型が microtime() 関数の出力の表示方法をどのように制御しているかを理解しようとしていますか?
ここに 3 つのシナリオがあります。
1 . ブール値を true に設定しているため、マイクロタイム関数の出力が浮動小数点形式で表示されます。
知りたいのですが、float 関数はデフォルトで小数点以下何桁まで表示されますか (この場合は 4 です)?
それはCPUのアーキテクチャとどのように関係していますか?
lab$ php -r 'echo microtime(true),"\n";'
1361544317.2586
2 . ここで、microtime() 関数の出力は double 形式に型キャストされています。
では、マイクロ秒の小数点以下 6 桁までしか表示されないということですか? float およびその最大サイズ/精度とはどう違うのですか?
lab$ php -r 'echo (double)microtime(),"\n";'
0.751238
3 . これは microtime() 関数のデフォルトの使用法で、マイクロ秒と UNIX エポック タイムスタンプの両方を出力します。
lab$ php -r 'echo microtime(),"\n";' output: 0.27127200 1361544378
多くの場所で、microtime() が次のように mt_rand() PRNG のシードを生成するために使用されているのを見たので、これを理解したいと思いました。
mt_srand((double)microtime() * 1000000)
ここでの型キャストと 10^6 の乗算の使用は何ですか? また、mt_srand() のパラメータで可能な最大値はいくつですか?
ありがとう。