The bit depth (16 or 24) of a DAC is a nominal value.
It is not a performance metric.
All it says is that the DAC accepts samples with a 16 or a 24-bit word.
Not to be mistaken for being able to resolve this sample to the last bit.
Assuming the output is ± 2V max then the range is 4V
16 bits = 65536 discrete steps
4/65536=0.00006104V
24 bits = 16777216 discrete steps
4/16777216 = 0.00000024 V
Even at 16 bits the step is very small indeed.
A perfect DAC would have no linearity error.
HRT Music streamer
As you can see in the graph, this DAC tested starts to deviate at -70 dBFS.
As 70/6=11.6 this DAC is more or less able to reproduce 12 of the 16 bits perfect.
Often a margin of ±2 dB is used.
Using this margin this DAC can resolve 13 bits. As CD audio is 16 you will miss 3.
Benchmark DAC1 measurements by John Atkinson
At ±2 dB this DAC resolves 19 bits.
The first dip is just slightly less then – 2dB.
At this point this DAC can resolve 22 bits.
At -145 the +2 dB is transgressed.
At this point this DAC can resolve 24 bits.
This is the $3.995 2011 Invicta.
This is the $699 2020 Topping D90.
Topping D90 Balanced USB DAC Review
SIY did a linearity test using a Behringer UMC404HD, a $100,- AD/DA.
An interesting post on ASR as if covers the influence of noise and filters on the linearity.
It also proves that you can make things audible even if they are below the noise floor.
This is the jitter performance of the UMC404HD.
Shows you that even a $100 DAc can have a excellent jitter performance.
DAC parameters - HITEQUEST (2002)
On DAC Linearity Measurement - SIY
Topping D90 Balanced USB DAC Review - ASR (2019)