Real Time Audio Processing

Grumpy_Mike:
No the contribution of the most significant bit must be as accurate as the least. Because 0111 1111 must be lower than 1000 0000

Nope, you are assuming all the currents from each bit are
(a) the same (they are not), and
(b) all contribute equally to the output node (they do not).

Basically in an R-2R ladder each bit has half the influence of the previous one, so tolerances for resistors
and voltage references get less strict along the string.

When outputing 10000000, the node on the string next to the LSB is at about 20mV, so changes in
the value of the resistor there have a tiny effect compared to bit 7 whose resistor sees about 2.5V

For instance if R = 5k and 2R = 10k, bit 0 is sinking 2µA, bit 6 sinking ~125µA, bit 7 sourcing ~250µA

Switching to 01111111 reverses the sense of all the voltages and currents, but bit 0 only changes from
sinking to sourcing 2µA, a 4µA change