1

私は課題のために 1 時間以内に 49151 個の数独を解く小さなプログラムを書きましたが、それには時間をかけなければなりませんでした。そのまま実行して実行時間を確認しようと思ったのですが、-1536.087 秒と表示されています。タイマーが署名されたデータ型か何かであることに関係していると思いますが、コンソールのタイマーにどのデータ型が使用されているかわかりません(コード::ブロックコンソール、これが実際に別のコンソール、またはローカルオペレーティングシステムからターミナルを実行する単なるランナー) であるため、リアルタイムが何であったかを確認できません。今すぐ自分の PC を再び使用できるようにしたいので、プログラム内でコード化されたタイマーを使用してこれを再度実行したくありません。今回がどうなるか分かる人いますか?40 分から 50 分の間、つまり 2400 秒から 3000 秒の間にあるはずです。

4

4 に答える 4

10

時間が 32 ビットの符号付き int にマイクロ秒単位で格納されている場合、2758880296 us(マイクロ秒) はこの結果を生成し2758880296-2^32 = -1536087000ます。分と秒で言えば、45:58.880296. (おそらく、印刷したものは最も近いミリ秒に丸められているため、小数点以下の最後の数桁を塩の粒で扱います)

しかしもちろん、それはあなたが提供した情報に基づく知的な推測にすぎません。

于 2010-03-29T02:35:01.177 に答える
2

46分だと思います。

マイクロ秒を表す 32 ビットの符号付き整数を想定します。

-1,536,087,000us は 2,758,880,296us と同じで、45:58.880 です。

ただし、範囲内で同様にもっともらしい結果をもたらす別の表現がある可能性があります。

于 2010-03-29T02:35:42.203 に答える
2

Linux で実行している場合は、「時間」を使用します。

$ time ./your_program
real    0m0.003s
user    0m0.004s
sys     0m0.000s
于 2010-03-29T02:20:23.130 に答える
0

正確には42分だと思います(小数を無視し、12ビットの符号付きデータ型を想定しています)...しかし、実行時間がどのようにチェックされているかについての情報が含まれていないため、それはばかげた推測です。

于 2010-03-29T02:22:16.903 に答える