Finding new block in the mining process is based on changing the nonce value then hashing , and repeating this until reaching a hash whose value is equal to or lower than the target . The nonce is 32 bit long , which means that all possible changes that can be made to the nonce value is 2^32 -1 , then the maximum number of hashes that needed to be made by a mining hardware until reaching the desired hash is 2^32 -1 = 4294967295 (approximately 4 billion hashes) . This number of hashes can be made in one second by ASIC whose hash rate is 4 Ghash/s (4 billion hashes per second ), and can even be done in millisecond by ASIC whose hash rate is 4 Thash/s .
All of this is the mathematical calculation , but in practical it takes days for 4 Ghash/s ASIC or 4 Thash/s ASIC to find one block !!
So why is this huge difference between the mathematical calculation and the practical thing ?!! is there something that I don't understand well ?