Why not do it simpler? :
Create an array with 16 elements, one element per piece, black + white.
Every array element is 7 bits wide, 1 bit for captured or not,
and 6 bits for the square number the piece is on (8 x 8).
Then you need 16 * 7 = 112 bits = 14 bytes.
(And the captured-bit can even be compressed further as a 65th square,
but that makes it more calculation intensive to extract a position)
Scarblac|1 month ago
Smalltalker-80|1 month ago
veidelis|1 month ago
addaon|1 month ago
On the other hand, there are 32 pieces (max) on a chess board, not 16, so grandparent is off by a factor of more than two.