タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

プログラミングと将棋に関するcalcsのブックマーク (1)

  • 64bit環境向けBitboard、RBBの提案 - Bonanzaソース完全解析ブログ

    ■ 64bit環境に適したBitboard、RBBが何故必要なのか? 将棋盤は81マスあり、Bitboardでこれを表現しようと思うと81bit必要です。64bit環境であれば、64bitレジスタが使用できるのですが、81bitは64bitレジスタ1つには収まりません。そこで、64bit変数1つと32bit変数を1つのようにBitboard構造体を構成するのが普通です。 struct Bitboard { u64 p1; u32 p2; }; Bonanzaのように3段ごとに32bit変数1つに入れないと、自陣にある駒だけを対象にforeachしたいときに、困ります。 しかし、x64環境では、bsf自体が1命令で出来るので、p1には、64マス分を詰め込みたいのです。そうするとp2は、残り81-64=17マスのみになります。これでは自陣にある駒を列挙しようとするときに、p1とp2にまたがるた

    64bit環境向けBitboard、RBBの提案 - Bonanzaソース完全解析ブログ
  • 1