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

Make Truncation be Rounding

May 22nd, 2016
math, ideas  [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:

Transfers from Infrequent to Frequent Vehicles

Imagine yourself taking a train somewhere, and imagine the train is big and infrequent. Let’s say it’s the commuter train from New York down the Northeast Corridor to Newark Airport, or perhaps a low-cost OuiGo TGV from Lyon to Paris. Now imagine that you…

via Pedestrian Observations January 20, 2020

Veganism and restrictive eating

I’m reading the book Intuitive Eating, which I highly recommend. I was looking for something like it that could get me back to trusting my biological hunger without worrying that I need to control myself or my weight. It’s raised my consciousness to the w…

via Holly Elmore January 17, 2020

Algorithms interviews: theory vs. practice

When I ask people at trendy big tech companies why algorithms quizzes are mandatory, the most common answer I get is something like "we have so much scale, we can't afford to have someone accidentally write an O(n^2) algorithm and bring the site d…

via Posts on Dan Luu January 5, 2020

more     (via openring)

More Posts:


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