乱数を生成するには?
乱数を生成するには、GETRAND 関数を使用します。
BREW では、シード付きの乱数を生成することはできませんが、SophiaFramework にはシード付きの乱数を生成するクラスが用意されています。
また、SophiaFramework では BREW 標準の乱数の他に LCG 法や MT 法が使えます。
[ BREW API のみを使用したコード ]
byte rand;
GETRAND(&rand, sizeof(byte));
[ SophiaFramework を使用したコード ]
UInt32 rand = SFXBrewRandom::GetUInt32();
double 型の変数を int 型にキャストするには?
BREW 2.1 には、double 型の値を int 型の値に変換する関数はありません。
以下の手順に従って double 型の値を int 型の値に変換します。 これは、Qualcomm 社が推奨している方法です。
- FLOATTOWSTR を使用して double 型の数値をワイド文字列に変換します。
- WSTRTOSTR を使用してワイド文字列を char 文字列に変換します。
- ATOI を使用して char 文字列を int 型の数値に変換します。
※ BREW 2.1 では FLOATTOWSTR に不具合があり、整数部が 20 桁を超えるとメモリを破壊する恐れがあります。
SophiaFramework では Float32, Float64 型を使うことで通常の float, double と同じように浮動小数点を扱うことができます。
【 コード例 】
続きを読む »
デバッグ出力で浮動小数点数を出力するには?
デバッグ出力で浮動小数点数を出力する手順は以下のとおりです。
- FLOATTOWSTR 関数で浮動小数点数をワイド文字列に変換します。
- WSTRCOMPRESS 関数でワイド文字列を char 文字列に変換します。
- DBGPRINTF で char 文字列を出力します。