You can do that.. But the result will be truncated to the nearest integer. If your ADC result is 49 and you multiply that by 0.02 (which is same as dividing by 50), the result will be zero. 99 * 0.02 will result one etc.
Edit: Sorry my mistake. I did not spot the fact that your result variable is a double. In that case the result should be accurate decimal number. The compiler should take care of the typecast.
You could do a typecast just to be sure:
C:
double Result_of_16_bit_multiplied_by_pointzerotwo;
Result_of_16_bit_multiplied_by_pointzerotwo = ((double)16_bit_result)*.02;
I would use "float" instead of double. And even then the calculation will take a relatively long time, but that is a problem only if you are sampling signals at high rate.
Edit2: If you are using AVR-GCC compiler then: "double is only 32 bits wide and implemented in the same way as float".
https://gcc.gnu.org/wiki/avr-gcc