いつも利用させて頂いております。
早速ですが、、、、nsecをsecへ変換する場合に、どちらがいいのかを
相談したいと思います。
A : sec = nsec * 0.000000001
B : sec = nsec / 1000000000
結果としては、どちらでも同じ結果になると思うのですが、
皆様が使うとしたら、どちらの方法で行いますか?
または、他の手段を使われる方もいるのでしょうか??
できれば理由とともに教えていただけると助かります。
申し訳ありませんが、よろしくお願いします。
nsecをsecへ変換する方法
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: nsecをsecへ変換する方法
私はlong longで処理するとか、そもそも変換しない(表示を工夫)とかdoubleは介在させません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: nsecをsecへ変換する方法
皆様回答してくださりありがとうございます!!
usao様>
確かに、nsecだと0がいくつ必要なのかがわかりにくくなるので、
その方法はいいですね!
ISLe()様>
浮動小数点は極力避けるべきなのですね。
演算としては、整数演算のほうが効率よくみえますので。
h2so5様>
確かに記載していただいたコードを実行するとNot Equalになりますね。
でも、それぞれをprintfで出力してみると同じものが表示されるんです。
内部では異なるのかな? softya(ソフト屋) 様>
可能な限りは浮動小数点を避けるコードが良いということですね。
上記を参考に、対応したいと思います。(浮動小数点はしない方向で検討してみます)
非常に勉強になりました!
今後共、よろしくお願いします。
usao様>
確かに、nsecだと0がいくつ必要なのかがわかりにくくなるので、
その方法はいいですね!
ISLe()様>
浮動小数点は極力避けるべきなのですね。
演算としては、整数演算のほうが効率よくみえますので。
h2so5様>
確かに記載していただいたコードを実行するとNot Equalになりますね。
でも、それぞれをprintfで出力してみると同じものが表示されるんです。
内部では異なるのかな? softya(ソフト屋) 様>
可能な限りは浮動小数点を避けるコードが良いということですね。
上記を参考に、対応したいと思います。(浮動小数点はしない方向で検討してみます)
非常に勉強になりました!
今後共、よろしくお願いします。