- 68 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 10:12:15.10 ]
- Del2010です。コンパイルオプションの範囲チェックを有効にしたプロジェクトを読み込むと、
var a : UInt64; begin a := $f000f000; a := a shl 32; showmessage(inttohex(a,16)); こういうコードの場合、shlの行でaの上位4バイトに対して負の数だったら、@BoundErrとなるように範囲チェック処理が働きます。 UInt64の場合これはおかしいように思いますが、なぜなんでしょう。実は暗黙的にUInt64もInt64として扱われるんでしょうか。
|

|