Actually, it's 256 distinct numbers because "0" is a number, too.
A computer uses binary digits, 1 and 0. If you have 1 byte = 8 bits, your smallest binary number is 0000 0000, and your biggest number is 1111 1111 (=>2^8-1, or 255 in decimal systems).
So the index system in the editor uses a single byte to store indices.
300 in decimal becomes 1 0010 1100 in binary. It would have 9 bits instead of 8, but you can't just take single additional bits from your memory, because your memory is organized in bytes. You would need two bytes to handle a number as big as 300.
Then again with two bytes, you would have 65536(=2^16) different numbers. Altough you could force your program to reject numbers that are bigger than 300, there would be no logical reason to restrict it to 300
And 250 becomes 1111 1010. My computer doesn't think it's a "round" number
Edit:LPChip beat me to it