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

If "a" is declared as a byte, then I do not understand the difference between sending one byte and sending the value.

You do realize that the compiler accepts

byte a = 0B000001;

but not

byte a = B000001;

unless B000001 is declared somewhere else (either as a macro or as a variable) ?

Are you really intending to write binary values, or do you intend something else? I am confused.