[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00662] Re: ご返事ありがとうございました。



うえけんです。

> あーなるほど、キャストですね。
> 両方混在したら確かにキャスト処理の分遅くなりますね。

明示的なキャスト以外に、コンパイラが内部的に値を格上げ
する場合があります。

> でも、Witchの場合はメモリが限られているため、signed short では足りない
> が unsigned shortなら平気、という場合に予期せぬバグを避けるために long
> 型を用いると、とたんにデータサイズが倍になってしまいますから、なかなか
> 難しいところではありますよね。

基本的にx86の16ビットモードではlongは使うべきでは
ないと思います。また、signed shortで足りないケースとい
うのは「まずない」と私は考えています。

-32768〜+32767を超える数を扱うケースは非常に限られます。
扱うのであれば、

・変数を分ける(細かい値が必要な場合)
・値を適当にスケーリングする(ゲームスコアのような場合)

などの方法で16ビットで済ませられます。アセンブラなら
独自の計算サブルーチンを作るほうが楽かもしれません。

それでは


ML Archives