It seems to me that I2C is actually transfering inverted bits which sounds a bit odd so I am seeking for a clarification.
I2C diagram from here.
Let's say we are writing to slave. A zero (0) comes to
SDA out, which means nMOS is in HiZ and the receiver gets a 1 due to Pull-up. And if a 1 comes to
SDA out then nMOS will connect with ground meaning receiver gets a 0.
So it seems to me as if I2C is actually sending inverted data across the SDL. This does not really make any sense to me so.. is there an inverter on the receiver's end not shown in the diagram that makes the data correct? Or did I misunderstood how it works in the first place?