ADRead = (ADC_Get_Sample(0) * 500) >> 10;
// consider and ADRead value of 123
vDisp[0] = ADRead / 100; // vDisp[0] will become 1. i.e. integer left dividing 123/100 = 1 (most significant digit)
vDisp[1] = (ADRead / 10) % 10; // vDisp[1] will become 7. i.e. 123/10 = 12, and 12 % 10 is the remained times i.e. 2 (middle digit)
vDisp[2] = ADRead % 10; // vDisp[2] will become remainder of 567/10 i.e. 567/10 = 16 and the remainder is 7 (least significant digit)
The following converts the numbers to ASCII for display on a serial terminal etc. So for 123 above
Display[1] = vDisp[0] + 48; // = 49
Display[2] = vDisp[1] + 48; // = 50
Display[3] = vDisp[2] + 48; // = 51
For ASCII look at
https://www.asciitable.com/ and you will see decimal 48 displays character '0'
Hope that helps with the understanding of integer division, remainders and ASCII. Nice question.