Calculate voltage of a 16-bit differential ADC that gives a two's complement value
Differential or single ended has nothing to do with your conversion.

Differential: Voltage being converted to is (In+)-(In-)

Single Ended: Voltage being converted to is Vin

int16_t code=read_ADC(); 
float voltage=code*Vref/(2^16-1)


n bit devises the range to (2^n-1) "buckets", so each bucket is Vref/(2^n-1)