so im not sure its clickin for me here. am i doing this right?

In the current exercise im doing, i would like to store a value in eeprom so i can reference it later, eventually i want to move onto storing multiple values.

im using the I2C AT24C256 EEPROMS which are labeled as 32K eeproms.

using ,

EEPROM.write(address, value);

and then write the next value into the next address i would use

addr++

i only get 0-254 addresses so i can store 254 different values.

i think i understand that bit and incrementing the addresses and even how to do this with multiple values stepped at different steps to record two at a time 3 at a time etc. and it step the correct number of address for each value

but this seems to be the same for the 16K eeprom i have also.

i still have 0-254 addresses on either chip right?

so what's the point of buying the bigger eeprom,

is their a way i can i store multiple 3 digit values at the same address and retrieve them? if so how would i do that. what would the code for that look like.

would it be something like, EEPROM.write (address, value1, value2, value3); etc until the address is full.

if not, then, again. why buy the bigger chips? am i not really getting 254 address's on the 16K eeprom?

a bit confused here how to figure out how much i cant stuff into a chip and retrieve it.

what would the formula be to calculate how many values i can store into an eeprom.

say, 3 values for example.

256 addresses divided by 3 values would be 85 with a remainder. but this means i can store 85, 3 segment steps into eeprom.

say 7 values, would be 256 address's divided by 7 values is 36 with a remainder

am i doing this right?

if i am then why bother using a 32 k eeprom over a 16k if im still getting the same number of addresses and value storage.

does the 32k allow larger numbers to be stored at each address then the 16k does?

i have read allot of information and its very confusing as everyone seems to calculate this stuff differently. what standard should i be sticking to?

TIA