Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.sys.acorn.programmer > #5932
| From | David Higton <dave@davehigton.me.uk> |
|---|---|
| Newsgroups | comp.sys.acorn.programmer |
| Subject | Re: BASIC oddity? |
| Date | 2020-01-06 16:20 +0000 |
| Organization | Home |
| Message-ID | <60432a2e58.DaveMeUK@BeagleBoard-xM> (permalink) |
| References | (4 earlier) <qupq4i$4nf$1@gioia.aioe.org> <582d216fd8News03@avisoft.f9.co.uk> <a2bf222d58.Alan.Adams@ArmX6.adamshome.org.uk> <d46b282d58.DaveMeUK@BeagleBoard-xM> <930f302d58.Alan.Adams@ArmX6.adamshome.org.uk> |
In message <930f302d58.Alan.Adams@ArmX6.adamshome.org.uk>
Alan Adams <alan@adamshome.org.uk> wrote:
>In message <d46b282d58.DaveMeUK@BeagleBoard-xM>
> David Higton <dave@davehigton.me.uk> wrote:
>
>> In message <a2bf222d58.Alan.Adams@ArmX6.adamshome.org.uk>
>> Alan Adams <alan@adamshome.org.uk> wrote:
>
>>>The thing I found surprising is that BASIC displays the values in I% and
>>>J% using a signed interpretation, but does the subtraction in an unsigned
>>>fashion. It's this inconsistency that worries me, in case at some future
>>>date is is "corrected".
>
>> It's not inconsistent. This is just how 2's complement addition and
>> subtraction work. Perhaps you need to work through some more examples.
>> Doing them on paper, perhaps with a more limited number of bits to make
>> it less laborious, might help convince you.
>
>It may not be inconsistent if you view it from the viewpoint of
>assembler, but it is very much inconsistent from the viewpoint of BASIC
>
>-(very large number) - (another very large number) should never result in
>a positive answer.
>
>BASIC shows these values as negative, and returns positive.
>
>That's inconsistent "within the BASIC language scope". It should, to be
>consistent, return an underflow error.
You're making an assumption that, in BASIC, integers can only be signed,
and that's what everyone wants. Now I know that BASIC represents them
in PRINT statements as signed, but I don't regard that as the end of the
story. I am well used to thinking about whether I want each one of my
integers to be signed or unsigned. I'm quite happy to use BASIC to
handle unsigned integers. The important thing is that it doesn't fall
over with an error; I'm quite happy to interpret the result of the
calculation myself. (I'm also happy to add a signed integer to an
unsigned integer, etc.)
To my mind and my needs, BASIC does the right thing.
>Where it is consistent is that it does the same thing with addition, but
>not with multiplication.
That's the same in machine language, AFAIUI. Addition and subtraction
instructions don't need to have signed and unsigned variants, but
multiplication (despite being repeated addition) /does/ require them.
I don't understand why, bearing in mind my comment in brackets, and if
anyone can point me to an explanation, I'd be grateful.
David
Back to comp.sys.acorn.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-03 17:16 +0000
Re: BASIC oddity? Martin <News03@avisoft.f9.co.uk> - 2020-01-03 19:31 +0000
Re: BASIC oddity? druck <news@druck.org.uk> - 2020-01-03 21:00 +0000
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-03 22:26 +0000
Re: BASIC oddity? Steve Drain <steve@kappa.me.uk> - 2020-01-04 10:40 +0000
Re: BASIC oddity? Martin <News03@avisoft.f9.co.uk> - 2020-01-04 16:08 +0000
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-04 16:22 +0000
Re: BASIC oddity? David Higton <dave@davehigton.me.uk> - 2020-01-04 17:24 +0000
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-04 18:47 +0000
Re: BASIC oddity? Matthew Phillips <spam2011m@yahoo.co.uk> - 2020-01-06 08:58 +0000
Re: BASIC oddity? David Higton <dave@davehigton.me.uk> - 2020-01-06 16:20 +0000
Re: BASIC oddity? Matthew Phillips <spam2011m@yahoo.co.uk> - 2020-01-07 08:49 +0000
Re: BASIC oddity? Martin <News03@avisoft.f9.co.uk> - 2020-01-07 11:20 +0000
Re: BASIC oddity? David Higton <dave@davehigton.me.uk> - 2020-01-07 15:05 +0000
Re: BASIC oddity? Matthew Phillips <spam2011m@yahoo.co.uk> - 2020-01-08 08:23 +0000
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-08 10:26 +0000
Re: BASIC oddity? druck <news@druck.org.uk> - 2020-01-08 21:02 +0000
Re: BASIC oddity? Richard Ashbery <basura@invalid.addr.uk> - 2020-01-09 12:53 +0000
Re: BASIC oddity? Steve Fryatt <news@stevefryatt.org.uk> - 2020-01-09 23:16 +0000
Re: BASIC oddity? Steve Fryatt <news@stevefryatt.org.uk> - 2020-01-08 22:35 +0000
Re: BASIC oddity? Martin <News03@avisoft.f9.co.uk> - 2020-01-08 23:51 +0000
Re: BASIC oddity? Steve Drain <steve@kappa.me.uk> - 2020-01-10 11:30 +0000
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-10 12:38 +0000
Re: BASIC oddity? Jean-Michel <jmc.bruck@orange.fr> - 2020-01-06 20:39 +0100
Re: BASIC oddity? Alan Adams <alan@adamshome.org.uk> - 2020-01-06 21:13 +0000
Re: BASIC oddity? Steve Drain <steve@kappa.me.uk> - 2020-01-08 12:46 +0000
csiph-web