Ah! Welcome to the world of I2C addresses!
In the I2C world, everything has an address. This will be a 7 bit address, note seven. When reading from an I2C device with the 7 bit address 0x49, it is converted to an 8 bit read address by shifting the 7 bit address leftwards by 1 bit (multiply by two) then sticking a 1 bit into the now vacant bit 0 position. This gives an 8 bit read address of 0x93.
When writing, on the other hand, the 7 bit address is shifted leftwards as before, and a 0 shoved on the end. Our device with the 7 bit address of 0x49 becomes 0x92.
So, the same device has two separate 8 bit I2C addresses, a read address of 0x93 and a write address of 0x92. Easy!
Your I2C EEPROM has a 7 bit address of 0x50 which means it has a write address of (0x50 * 2) and a read address of (0x50 * 2 + 1), or, a read address of 0xA1 and a write address of 0xA0.
So, when you see examples using 0x50 that’s the 7 bit device address. When it’s 0xA0 that is the 8 bit write address and if you see 0xA1, that’s the 8 bit read address.
Most, but not all I2C code I’ve come across takes the 7 bit address and manipulates it internally to give the appropriate read or write address as required.
HTH
Cheers,
Norm.