Re: GetNowCountの最大値について ( No.1 ) |
- 名前:管理人 日時:2007/06/17 06:50
Fooさんどうも、DXライブラリの管理人です。
DirectXのタイムを取得するAPIのことは知りませんが、お察しの通り
signed int の範囲(4バイトで表現できる数値の範囲)を超えると 0 に戻ります。
ただ、本当は GetNowCount の戻り値は unsigned int ですので、
申し訳ありませんが unsigned int にキャストして扱うようにして下さい。
ちなみに unsigned int で表現できる値を超えてカウントが0に戻るのは、OSが
起動してから49日間毎となります。(unsigned int ではなく、signed int として扱うと、
24日後に値がマイナスになります(更に24日後に0に戻ります))
|
Re: GetNowCountの最大値について ( No.2 ) |
- 名前:Foo 日時:2007/06/17 13:47
ご回答ありがとうございます。
しかしながら、すみません。
>ただ、本当は GetNowCount の戻り値は unsigned int ですので、申し訳ありませんが unsigned int にキャストして扱うようにして下さい。
の部分がちょっとよくわかりません。
GetNowCountの戻り値はリファレンスにはintと書いているけど実はunsigned intだ、という意味でしょうか。
signed で範囲を超えると0に戻る・・・ということは、マイナス値へは行かないのですね。
だとするとそれをunsigned intでキャストしても
signedの範囲内の値になってしまうと思うのですが。
申し訳ありません。
なにか自分が思い違いをしているようです。
が、どこが間違ってるのか、そこがわかりません。
よろしければ補足説明をお願いいたします。
※できますればGetNowCountの仕様について今一度、
お願いいたします。
P.S.
ちなみに。自分は欲しいのは
「unsigned intの戻り値を返し、unsigned int の範囲を超えると0を返す関数」です。
GetNowCountがそうだといいんですけど…。
|
Re: GetNowCountの最大値について ( No.3 ) |
- 名前:管理人 日時:2007/06/20 10:47
Fooさんどうも、DXライブラリの管理人です。
すみません、説明に不備がありました。
> GetNowCountの戻り値はリファレンスにはintと書いているけど実はunsigned intだ、という意味でしょうか。
はい、そうです。
> signed で範囲を超えると0に戻る・・・ということは、マイナス値へは行かないのですね。
すみません、unsigned int の範囲を超えると0に戻る、の誤りです。
> ※できますればGetNowCountの仕様について今一度、
> お願いいたします。
戻り値は unsigned int 型で、OS起動時に0からカウントが始まり、
1ミリ秒経過する度にカウントが1進み、unsigned int 型の範囲を超えると
0に戻ります。
> 「unsigned intの戻り値を返し、unsigned int の範囲を超えると0を返す関数」です。
GetNowCount 関数はその通りの機能となっています。
|
Re: GetNowCountの最大値について ( No.4 ) |
- 名前:Foo 日時:2007/07/08 00:24
管理人様
御礼が遅れまして申し訳ございません。
なるほど了解いたしました。
ありがとうございました。
|