::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact

Make Truncation be Rounding

May 22nd, 2016
ideas, math  [html]
When I see a number like "183" the first thing I see is a "1". If I'm looking very quickly, perhaps scanning a column of numbers, that might be all I see, and I'll approximate this number as "100" when "200" would be closer. Yes, truncation isn't the same thing as rounding, but wouldn't things be a lot easier if it were? Let's make it be that way.

To interpret a number today, you multiply each column by the size it represents and add them up:

number 100s 10s 1s sum
100 1 0 0 1*100 + 0*10 + 0*1
120 1 2 0 1*100 + 2*10 + 0*1
121 1 2 1 1*100 + 2*10 + 1*1
129 1 2 9 1*100 + 2*10 + 9*1
125 1 2 5 1*100 + 2*10 + 5*1

With this new system, we still do this, but in each column our available options range from -5 to 4 instead of 0 to 9.

number 100s 10s 1s sum
100 1 0 0 1*100 + 0*10 + 0*1
120 1 2 0 1*100 + 2*10 + 0*1
121 1 2 1 1*100 + 2*10 + 1*1
129 1 3 -1 1*100 + 3*10 + -1*1
125 1 3 -5 1*100 + 3*10 + -5*1

Here are a few more examples:

old notation new notation
0 0
4 4
7 1-3
579 1-4-2-1
432 432
1999 200-1

And here's a program to calculate these:

def to_new_notation(x):
  digits = []
  carry = False
  for digit in reversed([
        int(x) for x in str(x)]):
    if carry:
      digit += 1
      carry = False

    if digit >= 5:
      digit -= 10
      carry = True

    digits.append(digit)

  if carry:
    digits.append(1)

  digits.reverse()
  return digits

Update 2016-05-25: Truncation isn't actually rounding in this system unless you allow both 5 and -5 as digits. Thanks to Marius for pointing this out.

Comment via: google plus, facebook

Recent posts on blogs I like:

The Private Sector’s Role in Transit Innovation

The United States has long had private success and public failure – not just the sense of private affluence and public squalor, in which household income is high but the state of public services lags, but also in that the private sector is more productive…

via Pedestrian Observations June 17, 2019

Unintended pregnancy in folk songs

I’ve been listening to a lot of the Watersons and Waterson:Carthy this week. It’s reminded me how absolutely full British folk music is of songs about unintended pregnancy. Most commonly the result is unhappy motherhood: “But if I had kent that I now ken …

via The whole sky June 1, 2019

Programmer migration patterns

I made a little flow chart of mainstream programming languages and how programmers seem to move from one to another. There's a more common kind of chart, which shows how the languages themselves evolved. I didn't want to show the point of view of …

via apenwarr March 18, 2019

more     (via openring)

More Posts:


  ::  Posts  ::  RSS  ::  ◂◂RSS  ::  Contact