If a positive quantity underflows to zero, it becomes +0. And if a negative quantity underflows to zero, it becomes -0. You could think of +0 (respectively, -0) as the bit pattern for a positive (negative) number too small to represent.
The IEEE floating point standard says 1/+0 should be +infinity and 1/-0 should be -infinity. This makes sense if you interpret +/- 0 as the ghost of a number that underflowed leaving behind only its sign. The reciprocal of a positive (negative) number too small to represent is a positive (negative) number too large to represent.
To demonstrate this, run the following C code.
int main()
{
double x = 1e-200;
double y = 1e-200 * x;
printf("Reciprocal of +0: %g\n", 1/y);
y = -1e-200*x;
printf("Reciprocal of -0: %g\n", 1/y);
}
Read more: The Endeavour