2004年1月3日の日記の1番目の記事へのコメント

ラスタースクロール

GBAでラスタースクロールに挑戦してみているのですが,動かすところで大はまりしてしまいました.-128〜127に正規化したsinのテーブルを作って,その値を使ってラインごとにずらしてスクロールさせたのですが,テーブルを引いた値が負の場合,キャストしようが何しようが,割算や右シフトで符号拡張してくれず,単にでかい正の数として扱われてしまいます・・・.あれこれ試した結果,charにしていたテーブルの配列の型をshortにしたら動いたわけですが,なんでなの???

試しにchar型とsigned char型をシフトするコードをコンパイルしてディスアセンブルしてみたら・・・,charの方はlsr(論理シフト)でsigned charの方はasr(算術シフト)・・・_|‾|○.調べてみたら,gccではcharはunsigned扱いなんですね・・・.まじで知らなかった・・・_|‾|○i|||.何年C使ってるんだってかんじです.はぁ,カッコワル・・・.ちなみに,ラスタスクロールはバッチリです.

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2004年1月3日の日記の1番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2004年1月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ