Read the datasheet for the part you want to use.
Most use I2C or SPI for interfacing.
The chip does the conversion, then sends the results as 2 bytes to the arduino.
See mcp3201 as an example.http://ww1.microchip.com/downloads/en/DeviceDoc/21290F.pdf
See section 6.1
Basically you do this:
digitalWrite (SSpin, LOW);
upperbyte = SPI.transfer(0); // dummy transfer of 0 out, while reading data in at the same time
lowerbyte = SPI.transfer(0); // with other chips, these might be real data out, to select a channel for instance
then do a little manipulation to grab the 12 bits from the 2 bytes: put the 2 bytes together to make an int, and shift right 2 bits to drop the duplicate B0/B1 bits.