March 2009
In software development we deal with many types of zeros:
- 0-dimension zeros, nulls or "nothing"
- 1-dimensional zeros, such as the common view of zero as a number
- 2-dimensional zeros (e.g. x, y co-ordinates)
- zero as a number between -1 and 1
- zero as an hour between 23 and 1
- zero as a minute between 23:59 and 00:01
- zero as the opposite of one, as in binary
- zeros that are just made up to fit on a number line
- integer zeros and floating-point zeros
- and many more
Let us take, for example, the number 101. In this use of zero, it
stands for "no tens".
This use of zero occupies 10 ordinal values from 100 to 109. In binary 101
is 01100101 and as a 16-bit hexadecimal it is 0065.
Note that none of these zeros has anything to do with a presence or
absence of physical quantities, they are "made up" ordinal uses
to facilitate our number systems. As we change the rules of our numbering
system, the rules for a zero change.
Another example that highlights the use of both ordinal values and
quantities is the time 00:00
This may be:
00:00 as the 60 seconds between 23:59 and 00:01 at night.
00:00 as a zero quantity of time.
We can take this example further if we like:
00:00:00 as the second between 23:59:59 and 00:00:01
00:00:00 as a zero quantity of time.
Note the "artificial" ordinal use as a duration, it is a
1-dimensional value. As a quantity is means "nothing", an
absence, i.e. a 0-dimensional value.
Thousands of years ago, some mathematicians formalised our conventional
views of zero, as commonly used in mathemathics. They chose the wrong one.
This can be demonstrated simply, as follows:
- If zero is a number, as in the conventional view, then 1/0 =
Infinity.
- If 1/0 = Infinity then we can divide a line into an infinite number
of zero-sized points.
- If we can divide a line into an infinite number of points then we
should also be able to construct a line from zero-sized points.
Try building a line using only zero-sized points and you soon realise
it cannot be done. Starting at 0, simply stack up zero-sized points until
you get to 1...
No matter how many points you add, even an infinite number, you never
move from 0. This is a direct result of the error in applying the ordinal
"real number" view of zero to physical quantites where
"nothing" is the correct view. Because when viewing zero as { }
or "nothing" then 1 / 0 = 0, not infinity.
Why does 1 / 0 = 0? I use the ANSI standard SQL rules for Null and
treat null and zero interchangably. See Arithmetic
With Null and Zero for more details.
I'll leave you with my new favorite quote:
The most interesting thing about crackpot theories is that when
the next great breakthrough in physics occurs, it will look EXACTLY like
the most crackpot idea anyone can come up with.
Bill Beaty
Regards,
AJ Corcoran
|