私はPythonインタープリタに大きなa(20個の数字)b(4個の数字)c(20個の数字)を入れたb%cを入れました。 (a、b、c)とほぼ同じように速い。私は、Pythonが最初に** bを計算し、結果のモジュロ(%)を得る別の動作を期待しています。そのようなcalcは、より多くの時間を要します。シーンの背後にある魔法はどこにありますか?大きな数字を使ったPython **と%演算子の動作
1
A
答えて
2
舞台裏では魔法はありませんが、Pythonは任意精度の整数をサポートしていますが、よく実装されています。それは本当に** b、そして%cを計算しました。
4
20個の数字は現代のコンピュータでは笑っても小さいです。 2000の数字を試してみると、違いが見えるかもしれません。
また、この過去の質問が関連している:How did Python implement the built-in function pow()?
0
今日のコンピュータは驚くほど速いです、非常に複雑な計算がまったくの時間のように思えるものの中に発生する可能性があります。遅れを見るには、このような計算を何度も繰り返す必要があります。私は100万から始めるだろう。
6
あなたのようなPythonインタプリタの何かに入力している場合:次に、秒のカップルを見て
が20937505974095709374 ** 3438
待ちます。次にしよう:差がある理由
20937505974095709374 ** 3438 % 6
をそして何待機を見ていない、と思って、その後、あなたが最初のインスタンスで見遅延は実際にあなたの端末がバッファリングと巨大なを印刷するのに要する時間でありますあなたが画面に作成した番号。
+1
これはまさに問題です。各計算をむしろ変数に割り当てることでわかりますそれを印刷するよりも。 – kindall
関連する問題
- 1. 大きなコードベースでの文字列==演算子の使用
- 2. PythonでAND演算子とNOT演算子を使用する
- 3. Pythonの "&=" set演算子が "&="整数演算と異なる動作をするのはなぜですか?
- 4. IronPython暗黙の演算子がPythonで動作しない
- 5. python演算子、 "not in"の演算子なし
- 6. 大きな整数を使用したビット演算
- 7. Pythonコロン演算子
- 8. ++ i演算子(Python)
- 9. elem.value.matchを使った複数のOR演算子
- 10. 演算子とバージョンより大きいまたは小さい
- 11. なぜ算術演算子とアクセス演算子を使用するときにアップキャストするのですか?
- 12. 演算子if演算子
- 13. Xval演算子と比較演算子?
- 14. PHPと??演算子
- 15. より大きい演算子を使用するエンティティフレームワークの文字列
- 16. PythonのOverload()演算子
- 17. ストリンジェライザ演算子#
- 18. mysqliがOR演算子を使って選択クエリを作成できない
- 19. python:クラスのゲッターメソッドで文字列フォーマット演算子を使用できますか?
- 20. = + Pythonの演算子は、私が誤って書いた
- 21. MongoDB同じオブジェクトに$と演算子を使ったPHPクエリ
- 22. python +演算子オーバーロード問題
- 23. 条件演算子なしの最大数
- 24. 複素数演算のためのC++演算子のオーバーロード
- 25. 文字列の挿入演算子と抽出演算子のオーバーロード
- 26. "?"演算子
- 27. 整数の単一のアンパサンド演算子(&)の動作の理解
- 28. 演算子のオーバーロードとマニピュレータの作成?
- 29. C++演算子+演算子+ =オーバーロード
- 30. オーバーロード文字列演算子+
効率的に '(x ** y)%z'を計算するのに' pow'を使うことができます。 http://stackoverflow.com/questions/101268/hidden-features-of-python/3371415#3371415 –
ありがとうございました。 – Bole