Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re^4: Math::Base - arithmetics with baseX integers (OP updated)

by BrowserUk (Pope)
on Aug 24, 2017 at 00:54 UTC ( #1197898=note: print w/replies, xml ) Need Help??


in reply to Re^3: Math::Base - arithmetics with baseX integers (OP updated)
in thread Math::Base - arithmetics with baseX integers (updated)

...but... why? Why would you want two's complement behavior in other bases?

I think that you are both over- and under-thinking this. (We've clashed before on the benefits or otherwise of 'machine representation', so you may chose to simply ignore this.)

On computers (popular, common, generic), numbers are stored and manipulated internally as binary. Whether we choose to view those numbers as signed or unsigned, integers or floats, decimal or hexadecimal or octal or (indeed) binary; internally they are held and maintained in binary form.

Even your favored (Python) infinite precision numbers are stored and manipulated using a binary representation. And that means that it had to deal with exactly the same problems as shmem's code, and solved them in essentially the same way as you are now critiquing.

For the full skinny, read PEP-0237.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit
  • Comment on Re^4: Math::Base - arithmetics with baseX integers (OP updated)

Replies are listed 'Best First'.
Re^5: Math::Base - arithmetics with baseX integers (OP updated)
by no_slogan (Deacon) on Aug 24, 2017 at 03:01 UTC
    Do you seriously think I don't already know that? But I'm not worried about the implementation. I just can't imagine that someone would want to get the result 1-2=18446744073709551615. That's ridiculous C behavior that we've all gotten used to, and it might even be useful in a few situations, but it's not good behavior that anyone should be trying to emulate in a high-level language.
      I just can't imagine that someone would want to get the result 1-2=18446744073709551615

      That's exactly what I know you know, but aren't thinking through.

      Just because the internal representation of -1 can be displayed as an unsigned 64-bit integer; it doesn't have to be.


      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority". The enemy of (IT) success is complexity.
      In the absence of evidence, opinion is indistinguishable from prejudice. Suck that fhit

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1197898]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (6)
As of 2017-10-23 07:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (277 votes). Check out past polls.

    Notices?