Дело в том, что по страндарту I2C адреса у устройств не 8-ми, а 7-ми битные. То есть всего на шине I2C может быть до 127 устройств.
Младший же бит адреса используется для указания направления передачи данных. «0» в этом бите соответствует передачи данных в устройство («записи»), «1» — чтению.
Так вот если организовывать обмен по I2C не шине не самому, а использовать какую-нибудь библиотеку, то все эти особенности протокола библиотека уже учитывает и про значение последнего бита адреса можно не думать. Библиотека сама выставит его правильно, в зависимости от того, какую функцию — чтения или записи в шину — вы вызвали.
Есть вроде расширение до 10 бит