Accessing full 256K EEPROM

Is it possible to access all 256K bytes in an I2C EEPROM (24LC1025)? What I've read is that I2C uses 2 bytes for an address, one for the device and one for the memory location. Here's the code from another post that I'm using:

    Wire.beginTransmission((int) _deviceAddress);
    Wire.send((int) memLocation >> 8);  //MSB
    Wire.send((int) memLocation & 0xFF);  //LSB

It also appears the wire.send function is limited to an integer values in stead of and unsigned to allow for larger value.

A manufacturer wouldn't make a EEPROM larger then 32K bytes if it can't all be accessed. I must be missing something.

256k bits not bytes.

it`s 32k of 8 bit bytes

The 1025 model is addressed as if you had two different 512 ICs - using two different I2C addresses to access the top and bottom halves of the memory.

On the one hand, that's a bit of a hack; on the other it's nice to have it code compatible with the rest of the devices in the family.

-j