It’s time for Round 2 in our comparison of how Spain and the US differ in small, trivial ways. Today’s topic: Elevators and floor numbering.

### The Difference

In the United States, when you walk into a building from the street, you are on the “first floor” of the building. If you go up the stairs to the floor above, you will be on the second floor.

In Spain (and the rest of Europe), when you walk into a building from the street, you are on the “ground floor” of the building. If you go upstairs to the floor above, you will be on the first floor.

The buttons in the elevator in my building.

### Argument By Arrays

In computer programming, all lists and arrays are zero-indexed, meaning that they start counting at zero. To explain why, we’re going to have to jump into the first week of Computer Science 101…

Let’s say that one integer takes up 4 bytes of memory. So an array of 5 integers requires 20 bytes of memory. Let’s say our array is stored at memory address 3456, and the values are the some numbers in the Fibonacci sequence. So, in memory, our array looks like:

Memory Address | Value |
---|---|

3456 | 8 |

3457 | |

3458 | |

3459 | |

3460 | 13 |

3461 | |

3462 | |

3463 | |

3464 | 21 |

3465 | |

3466 | |

3467 | |

3468 | 34 |

3469 | |

3470 | |

3471 | |

3472 | 55 |

3473 | |

3474 | |

3475 |

The way we access the individual elements of our array is to specify what is called an “offset” from the original array address. If we say, fibonacci[1] the offset is 1, fibonacci[3] the offset is 3, etc.. The computer is going to multiply our offset by the size of our data type (remember we said an integer was 4 bytes), and add that to the memory address of our array. It will then read a four-byte integer from that memory location. So,

memory location of fibonacci[0] = (0 x 4) + 3456 = 3456

memory location of fibonacci[1] = (1 x 4) + 3456 = 3460

memory location of fibonacci[2] = (2 x 4) + 3456 = 3464

memory location of fibonacci[3] = (3 x 4) + 3456 = 3468

memory location of fibonacci[4] = (4 x 4) + 3456 = 3472

You can see that asking for fibonacci[0] gives us the first integer in the array, fibonacci[1] gives us the second integer, and so on. This is why arrays are zero-indexed in computers.

Floors in buildings should work exactly the same way. The building is the array, and the floor is the offset. If I tell you to meet me at 3456 Main St., I expect you to go to that location and enter the building, and not go up or down any stairs. If the building has five stories, and I want to meet you at the top story, I should tell you the number of stories to go up in the building to find me. So, just like the fifth, and final, element in our array was fibonacci[4], I should tell you “3456 Main St., 4th floor”.

### Argument By Cartesian Coordinates

If you prefer geometry to computer science, this explanation is for you. For the purposes of daily human life, we live in a world of three spacial dimensions. We’ll call the axes east-west (ew), north-south (ns), and up-down (ud). Our examples will assume a universally-known origin at some point on the ground. Let’s start off with simple and work our way up.

Assume we’re in a 1-dimensional world. If I want to meet you at a certain point, I need to tell you how far east or west of the origin to meet me. For example, if I said, “Meet me at 4 east,” you’d know where to go.

Now assume we’re in a 2-dimensional world. If I want you to meet me at a certain point, I need to tell you how far east or west to go *and* how far north or south to go from the origin to meet me. I might ask you to meet me at (4 ew, 3 ns) or (-5 ew, 7 ns). Or, and this is crucial, I might ask you to meet me at (5 ew, 0 ns). Note that (5,0) is a perfectly valid Cartesian coordinate, and clearly denotes a point on the plane.

Now let’s go up to a 3-dimensional world. Let’s assume there’s a building at (3 ew, 4 ns). If I tell you to go to (3 ew, 4 ns, 0 ud), “Meet me at the corner of Third St. and Fourth Ave.,” I expect you to go to the building and wait for me in the lobby on the ground floor. If I want you on the next floor up, I’d send you to (3 ew, 4 ns, 1 ud). I’d say, “Meet me at the corner of Third St. and Fourth Ave, *first* floor.”

Obviously, if I really wanted to meet you there, I’d have to specify a fourth coordinate in the temporal dimension as well, but that’s irrelevant to this discussion.

### Conclusion

I’ve presented two very logical, somewhat geeky, reasons for why Spain’s zero-indexed floor numbering system is superior to the American one-indexed system. It may seem arbitrary, but I contend that, while it may be trivial, it is not arbitrary.

This point goes to Spain.

Score: USA: 1, Spain: 1