I am not of what you are asking but did you start counting at 0 or 1. In computers zero is actually a value In the people system it is nothing. If you look at 0xF, starting your count from zero will give you 15 in decimal it will give you 16, it depends on your starting point and what you are doing with the number. If it is the compiler they are different and there is no guarantee they will come with the same number of bytes of code. Try Serial.print("Hello"); Then try Serial.print(F("Hello")); the output is the same the memory counts will be different. Hopefully that helps.