初めまして田中清十郎と申します。
龍神録プログラミングの館の3章でわからない箇所が2点あるので教えてください。
1点目はstate key配列の型が2章のintから3章のunsigned intに変更されている点です。
int型でも良いと思うのですが、なぜunsigned int型なのでしょうか。
2点目はCheckStateKey関数の引数がunsigned char型になっている点です。
Dxライブラリの関数リファレンスを見る限り、KEY_INPUT_ESCAPEなどはint型です。
なのでCheckStateKey関数の引数はint型だと思うのですが、なぜunsigned charとしているのでしょうか。
以上2点、お暇な時で結構ですので回答いただければ幸いです。
龍神録プログラミングの館の3章でわからない所があるので教えてください。
-
Takumi
Re: 龍神録プログラミングの館の3章でわからない所があるので教えてください。
http://www1.cts.ne.jp/~clab/hsample/Primary/Io8.html
このページを見るとint型よりunsigned int型の方が正の数の保存できる範囲が大きいからです。
やはり押された時間が保存できる範囲は大きい方がいいでしょう。
あとこのページを見るとchar型の保存できる範囲が0 ~ 255となっていますが本当は-127~127です。
そしてunsigned char型が0 ~ 255です。
するとちょうど監視するキーの数と同じになります。
int型でも問題ないと思いますが必要以上に計算精度の高い型はパフォーマンスに悪いのでunsigned char型となっています。
あと独学で全て学んでいるので信用はしないでください・・・
このページを見るとint型よりunsigned int型の方が正の数の保存できる範囲が大きいからです。
やはり押された時間が保存できる範囲は大きい方がいいでしょう。
あとこのページを見るとchar型の保存できる範囲が0 ~ 255となっていますが本当は-127~127です。
そしてunsigned char型が0 ~ 255です。
するとちょうど監視するキーの数と同じになります。
int型でも問題ないと思いますが必要以上に計算精度の高い型はパフォーマンスに悪いのでunsigned char型となっています。
あと独学で全て学んでいるので信用はしないでください・・・
Re: 龍神録プログラミングの館の3章でわからない所があるので教えてください。
char型が符号付きかどうかは環境依存です。Takumi さんが書きました:あとこのページを見るとchar型の保存できる範囲が0 ~ 255となっていますが本当は-127~127です。
そしてunsigned char型が0 ~ 255です。
LSI C-86 試食版では符号なし(0~255まで保存できるはず)でした。
gcc 4.3.4では符号付きです。
また、gcc 4.3.4のchar型で保存できる範囲は-128~127のようです。
http://ideone.com/FMqo2
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)