how many is 2^256? how many zeros is that?
2256 is not the right number because every bitcoin address has 296 private/public keys on average.
There are 2160 bitcoin addresses. 2160 = 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 or about 1.46x1048. 2160 is a much much much smaller number than 2256, but it is still an incredibly huge number.
For perspective, 2160 is approximately 3 times the number of water molecules on the earth. You are three times more likely to pick a specific molecule of water somewhere on the earth than you are to duplicate a specific bitcoin address (assuming that bitcoin address generation is completely random).