Transfer 10-bit via Arduino-to-Arduino SPI protocol
A byte is only 8 bits, so your code:

  byte x=0000001101;
  byte y=0011111111;


won't do what you think it does.

A 10 bit value will be stored as an int (which is 16 bits) or 2 bytes.

Assuming it is an int then this will convert it to two bytes.

 const int adcData = 0x03FF;  // From ADC
 byte dataToSend[2] = {0, 0}; // Initialise it to zeros
 dataToSend[0] = (adcData &amp; 0xFF00) &gt;&gt; 8;  // didn't really need the bit mask just to make it clearer.
 dataToSend[1] = (adcData &amp; 0x00FF);
 // Now send dataToSend via the SPI bus.


To reassemble the data on the otherside:

 byte dataReadFromSPI[2];  // Filled with the data read from the SPI
 int adcData = 0;
 adcData = (dataReadFromSPI[0] &lt;&lt; 8) | (dataReadFromSPI[1]);