How to change the reading from an ADC of 10 bits to the timer 0 registers using a PIC18f4550?
I know that by making the multiplication I am lossing some data.


Multipliing your 10bit ADC result (stored in 16bit variable) by 64 will not make you lose data as the result fits into 16 bit (TMR0 register)

And to answer you main question: you used logical and &amp;&amp; instead bitwise and &amp;

TMR0H  = (auxADC &amp; 0xFF00) &gt;&gt; 8;
TMR0L  = auxADC &amp; 0xFF;