Help with the code of data transmission between two arduinos (I2C)

it needs to be 0b00000001,
the '0b' (zero b) to start indicates binary.
Or just use '1', a = a+1;
Lot easier to read.

Are you trying to make numbers like this?
00000001, 00000011, 00000111, 00001111, 00011111, 00111111, 01111111, 11111111
Than you can OR in the LSB instead to set the LSB
a=a | 1; (see bitwise or Arduino - Home)