user426: I am starting to look at chessboard representation with the 0x88 hex array board rep, but I'm getting confused! Please help me understand it properly!
The 0x88 chess board representations I have seen as examples around on net resources say it can be thought of as representing a 16x8 2D array (size 128 and so is used as 2 boards side by side to check off board moves etc). 
However, afaik, hex value 0x88 is equivalent to 136 in decimal (10001000 in binary) so why is the array size not size 136 (136 bytes)?
I must be overlooking something simple with this. I apologise for this and will no doubt feel very foolish when I find what mistaken thinking my brain is stuck with over this!
I am grateful for any helpful replies,many thanks

user12: 0x88 is just the name of the system.  The actual length of the board array is 128.  
The name comes from the fact that a bitwise AND can be performed the index of a square (range is 0 to 127) and 0x88.  If the result is non-zero, then the square is not on the board.  This happens because 0x88 is 10001000 in binary and every square on the board will have the form 0xxx0xxx.
Another benefit of the system is that all of the legal squares can be trivially constructed in octal notation.  For example, d4 is 0x33 assuming that 0x00 is the lower left of the board (both d and 4 are the 4th square from the edge, so 3 in a zero-indexed array).  
See https://chessprogramming.wikispaces.com/0x88 for more information about this system.

426: <p>I am starting to look at chessboard representation with the 0x88 hex array board rep, but I'm getting confused! Please help me understand it properly!</p>

<p>The 0x88 chess board representations I have seen as examples around on net resources say it can be thought of as representing a 16x8 2D array (size 128 and so is used as 2 boards side by side to check off board moves etc). </p>

<p>However, afaik, hex value 0x88 is equivalent to 136 in decimal (10001000 in binary) so why is the array size not size 136 (136 bytes)?
I must be overlooking something simple with this. I apologise for this and will no doubt feel very foolish when I find what mistaken thinking my brain is stuck with over this!</p>

<p>I am grateful for any helpful replies,many thanks</p>
 12: <p>0x88 is just the name of the system.  The actual length of the board array is 128.  </p>

<p>The name comes from the fact that a bitwise AND can be performed the index of a square (range is 0 to 127) and 0x88.  If the result is non-zero, then the square is not on the board.  This happens because 0x88 is <code>10001000</code> in binary and every square on the board will have the form <code>0xxx0xxx</code>.</p>

<p>Another benefit of the system is that all of the legal squares can be trivially constructed in octal notation.  For example, <code>d4</code> is <code>0x33</code> assuming that 0x00 is the lower left of the board (both d and 4 are the 4th square from the edge, so 3 in a zero-indexed array).  </p>

<p>See <a href="https://chessprogramming.wikispaces.com/0x88">https://chessprogramming.wikispaces.com/0x88</a> for more information about this system.</p>
