【高速化】ビット演算 0x02at TECH【高速化】ビット演算 0x02 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト550:518 07/11/16 12:12:05 >>548 そうそう。Bは固定でいい。 16ビット範囲の X / Dなら、R = 4294967295 / D として、 X / D の値は (R * X + 65536) >> 32となる。 Dが複数あるなら、D→Rのテーブルを作ればOK 551:デフォルトの名無しさん 07/11/16 12:14:16 >>550 BCC5.5だけど、上のやつ計算できなかったよ 552:518 07/11/16 12:19:40 >>551 __asm{ mov eax, R mul X add eax, 010000h adc edx, 0 mov eax, edx } 553:デフォルトの名無しさん 07/11/16 13:04:33 >>550 Rが切り捨てなら汎用になるように (R * X + R - 1 ) >> 32 でいいんじゃないの? 554:518 07/11/16 13:09:18 >>553 65536より、R - 1のがいい理由は何? 555:デフォルトの名無しさん 07/11/16 13:24:06 理由は、Xが16bitの範囲を超えて入力された時の誤差が多少でも減る事だな 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch