Because representing infinity is not possible outside of symbolic logic and isn’t encodable in floats. I think it is a simple numerical reason and not a deeper computer reason.
For example:
for i in range(0, 10):
print(i/0.0)
In this case it should probably print +inf when i == 0.But:
for i in range(-10, 10):
print(i/0.0)
Now it is not clear, but at least we know it's an infinity so perhaps we need a special value +-inf.And:
for i in range(-10, 10):
print(i/i)
In this case, the value for 0/0 can be 1.https://www.gnu.org/software/libc/manual/html_node/Infinity-...