lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Coda Highland <chighland@gmail.com> wrote:

> On Sun, Nov 19, 2017 at 12:13 AM, KHMan <keinhong@gmail.com> wrote:
>> Keeping 2s complement arithmetic in looping and its flaw(s) isn't
>> perfect but it's a known quantity. Patching the looping code would make it
>> "2s complement but not quite 2s complement". Either way, I hope we can have
>> some updates to the section on numerical loops in the reference manual.
> 
> It's NOT 2s complement, though. It's 2s complement if you're working
> with integer loops, but it's signed magnitude if you're working with
> floating point, and Lua doesn't tell you explicitly which you're
> working with unless you ask. So it's already "signed magnitude, except
> when it's 2s complement" and Paige's patch brings it just a little bit
> closer to "always signed magnitude".
> 
> /s/ Adam

Okay, maybe you can help answer my question Adam... how does my patch
change the representation of the numbers from being 2s complement for
integer based loops?

From what I have read on Wikipedia, which matches what I remember from
my Comp-Sci classes all those years ago, 2s complement is a way that
most modern processors internally represent integers. How does changing
the loop logic to prevent an overflow affect this representation?

Thanks for any insight, it is appreciated!

~Paige