Because the way the computer calculates it is through an array, and the first cell of the array is at an address of 0. Basically, it's going 0, 1, 2, 3...27, 28. So you're getting the full 29, but you get a number of 28 because it's including 0. If you want to get an exact number, you should make your formula add 1 to compensate.