Bonjour !
Je voudrais apprendre la technique des damiers binaires (c'est comme ça que je traduirais bitboard).
Pour commencer j'ai voulu écrire un petit programme mettant en œuvre l'exemple présenté sur cette page.
Ça commence mal. Dès le début j'obtiens un résultat inattendu.
Qu'est-ce qui ne va pas dans mon code ? Pourquoi la chaîne affichée ne correspond-elle pas aux chiffres binaires de la valeur en question ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 {$mode objfpc} var damier: qword; i: integer; begin damier := %0000000000000000000000000000000000000000000000001111111111111111; for i := 0 to 63 do if (damier and (1 shl i)) > 0 then Write('1') else Write('0'); end. // 1111111111111111000000000000000011111111111111110000000000000000
D'autres liens intéressants pour la suite de la discussion :
https://www.chessprogramming.org/Bitboards
http://pages.cs.wisc.edu/~psilord/bl...ges/index.html
Partager