The logic is not clear to me 10mv =1*C
so, adc*=500;
adc=adc/1024;
if not multiply by 500 it shows 000;
if i change 500 to 5000 then it become 3 digit more accurate temperature.
what is the 500; doing logic not clear
??? What have we been talking about for the last 50 posts....The equation IS to display .... the answer of the equation will be 001 at 10mV.... the answer will be 010 at 100mV and 150 at 1500mV.. 1 degree, 10 degree and 150 degree...
1 degree C is NOT 9.7 mV ( I think Ian may be suggesting using this as an approximation to make the maths simpler as you seem to have great difficulty with maths.)
So a real temperature of 20 Deg. C would read as 20.62 degrees
If you READ THE DATA SHEET you will find the 1 degree C is 10 mV
Multiply the raw output value by 5000/1024 (This give the result in mV) Ian has already told you this.
I will leave you to try to work out the next step .