• Posts
  • RSS
  • ◂◂RSS
  • Contact

  • Make Truncation be Rounding

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

    Interview with Kat Woods: decision-making about having kids

    Realizing what you don't want The post Interview with Kat Woods: decision-making about having kids appeared first on Otherwise.

    via Otherwise July 5, 2022

    Decision theory and dynamic inconsistency

    Here is my current take on decision theory: When making a decision after observing X, we should condition (or causally intervene) on statements like “My decision algorithm outputs Y after observing X.” Updating seems like a description of something you do…

    via The sideways view July 3, 2022

    10x (engineer, context) pairs

    Your actual output depends on a lot more than just how quickly you finish a given programming task. Everything besides the literal coding depends deeply on the way you interact with the organization around you.

    via benkuhn.net June 9, 2022

    more     (via openring)


  • Posts
  • RSS
  • ◂◂RSS
  • Contact