If anybody have to say anything about the schematic or maybe a value for the R10, R11 / R30,R31 is more than welcome to post.
I'm wondering why you are doubling each "DAC" and summing them? This summing could be done at the software level. Adding one bit of resolution will not make you lose anything and it's much simpler?
Are you really going to implement DACs this way instead of using true DACs? If so, implementing an R/2R ladder will be again much simpler (no need for switches).
Additionally, depending on the accuracy you're targetting, using true DACs may be cheaper than using precision resistors. If accuracy is not an issue, implement R-2R ladders.
Will it be a waste of time and resources to use the power of function? i < pow(2, 16) ?
pow() is a math function from the std C lib acting on doubles and returning a double. Don't use it here (you could but it would need proper casting AND rounding, if not, you'll probably get a warning AND the result will be floor'ed, most likely getting you 65535 instead of 65536...). Integer powers of two are best expressed as this in C: 1 << 16
Either way, it won't waste anything as these are operations on constants that are going to be evaluated at compile-time.