I am not referring to the number of possible combinations however.
According to what you said, there are 4 variables and each of those variables differ in size(last part is a guess).
If you want computer analogies they arent variables, the four bases (short names T, A, C, and G) are more like bits in a computers memory, with the difference that they can take on four rather than two values. The DNA is a sequence of base pairs (it consists of two strands, A is paired by T in the other strand, while C is paired by G). Every cell in an organism has the full DNA sequence.
Genes are the parts of DNA that form instructions for producing various proteins. In programming terms I guess they could be considered classes and functions. DNA also contains instructions for when the genes should be activated, and. They can be activated depending on external factors, or depending on what function the cell has (a skin, muscle, or brain cell will need rather different proteins). he DNA molecules are constantly copied and, in spite of self correction and redundancy mechanisms, mistakes (mutations) occur every now and then, randomly flipping the bits in the memory. Mutations are either useful (in which case the individual with the mutation gets an advantage and is likely to produce more offspring and spread the mutation), harmful (which will harm the individuals chances to reproduce or even live) or make no difference at all.
From what I gather the atavistic genes are "old" genes that filled a function in some ancestor organism but have lost their usefulness. If you think of the DNA as recycled computer code (from an ancestor/previous version) then they would be old code that has been commented away. It was a mutation that switched off these genes in the past, and as their absence didnt hurt the mutated organisms managed to produce offspring.
And as Thrasher says the similarities in DNA (the same or very similar genes occuring in vastly different organisms) and the presence of obsolete atavistic genes are strong arguments for shared ancestry.
From a programmers point of view the following questions hint at evolution from shared ancestry:
Why would a program that has been (intelligently) designed from scratch contain old deactivated code?
Why do seemingly unrelated programs (human, yeast, and iguana) share a lot of classes and functions?
I mean what % of our DNA has been fully identified.
Slightly more than 92% has been sequenced (e g we have the "binary code" for that part) according to Wikipedia. I dont know if we've identified all the genes found in those 92% of the DNA. What I do know is that we still have a long way to go before understanding what all the genes do and how they are regulated.
I think that is it from me, I dont really have the time, the knowledge or the pedagogical skills to do much more with this topic