0-Based CountingDate: 07/05/2003 at 15:37:40 From: Anonymous Subject: 0-based counting: Why should we abolish 1-based? I am trying to convince people, especially my friends, that you should count from 0. I.e. "Page 0, page 1, page 2." For example, when I numbered a score (musical composition) from 0, a person complained and argued that 1-based counting is the standard [in this case]. So I need a little more information, and especially very convincing proof or statements. One person suggests that I am going against the way everyone else does it, and "everyone is taught to count from 1." I have many reasons why you should count from 0. - Modulo based systems (like hour:minute:second, century:year, bar:beat). - Counting from 1 and 0 is inconsistent. - 0 is the first digit in the number system, so why not start from it? - Most programming languages have 0-based arrays. - A lot of math stuff counts from 0, like the Taylor series. Date: 07/06/2003 at 23:12:59 From: Doctor Peterson Subject: Re: 0-based counting: Why should we abolish 1-based? Hi, I certainly wouldn't propose that we abolish 1-based counting, because it is very useful. When you count objects, you are making a correspondence between the natural numbers and the objects: 1, 2, 3, ... . The last number you name is the number of objects you counted. That doesn't work if you start at zero. What you are talking about is not really counting, but naming items in a sequence, such as pages. Even there, it is very natural to start at 1, so that the numbers you assign to the items correspond to their ordinals: first, second, third. It would be very confusing to call the first page zero, when "page 1" and "first page" are synonymous. So your friends are right when they say that this is the standard way to label page numbers, etc.; and trying to change that amounts to trying to change the English language. But you are right that there are many situations in which zero-based counting is appropriate, particularly in mathematical settings. Most sequences and series are easier to express in a zero-based form, since then the index is the number of steps away from the first term, "term 0," and we can add (for an arithmetic sequence) or multiply (for a geometric sequence) by the same thing each time, or use x^n in a series expansion of a function. In programming, similarly, if you use 0-based indexing, the index is the offset from the storage location of the first element. Yet when you do this, you introduce problems, since the number of terms or array elements is not the last index, but one more than that, which can be confusing. (Basic has a particularly poor way of handling this; C is just confusing to beginners.) So it would be hard to say that 0-based counting is the ideal way to assign indexes. In general, I would say that zero-based counting is appropriate in technical contexts (computers and math), but one-based counting is standard in other settings, and to try to change that would be foolish. On the other hand, it is interesting that in many countries, such as England, a sort of zero-based counting is used for floors in a building: the bottom floor is called the ground floor, and the term "first floor" is used for what Americans call the second floor. That is, "floor" means a floor above the ground. They don't use the term "zeroth floor." Any other situation where the first of a sequence is distinct from those that follow might naturally follow the same scheme, such as "cover page" and "page 1, 2, ...". But if all pages are similar, then it makes most sense to follow tradition. I'm not sure what you are saying about "modulo-based systems," by which you seem to mean systems of units of time. Are you saying we DO use zero-based counting there, or that it would solve some perceived problem? I do see that using times like 0:30 rather than 12:30 would work better, but that is not counting; and if you think that calling the first century the "zeroth century" would help, what would you call the first century BC? See this page for some thoughts on that: The Second Millennium http://mathforum.org/library/drmath/view/52341.html - Doctor Peterson, The Math Forum http://mathforum.org/dr.math/ Date: 07/07/2003 at 10:52:45 From: Anonymous Subject: Thank you (0-based counting: Why should we abolish 1-based?) Thank you so much for your answer. I've tried searching the Web for this topic, but the closest thing that I found was the awkwardness in handling 1-based years (i.e. "2001 is new millennium, not 2000). Once again, thanks a lot! |
Search the Dr. Math Library: |
[Privacy Policy] [Terms of Use]
Ask Dr. Math^{TM}
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/