Re: Hexadecimal numbers in Eu

new topic     » goto parent     » topic index » view thread      » older message » newer message

cklester wrote:
> 
> Unkmar wrote:
> > 
> > ----- Original Message -----
> > From: "Derek Parnell" <guest at RapidEuphoria.com>
> > To: <EUforum at topica.com>
> > Sent: Sunday, September 19, 2004 10:42 AM
> > Subject: Re: Hexadecimal numbers in Eu
> > 
> > 
> > > posted by: Derek Parnell <ddparnell at bigpond.com>
> > >
> > > Juergen Luethje wrote:
> > > >
> > > > Robert Craig wrote:
> > > >
> > > > > Juergen Luethje wrote:
> > > > >>
> > > > >> Derek Parnell wrote:
> > > > >>
> > > > >>> Juergen Luethje wrote:
> > > > >>>>
> > > > >>>> Hi,
> > > > >>>>
> > > > >>>> in some other programming languages, hex numbers can represent
> > positive
> > > > >>>> or negative values. E.g. in PowerBASIC 3.2,
> > > > >>>>    ? &hFFF0       ' prints -16
> > > > >>>>    ? &h00F0       ' prints 240
> > > > >>>>
> > > > >>>>> From what I read at 'refman_2.htm#1' (Eu 2.4), and from my
> > experience,
> > > > >>>> I have the impression that hexadecimal numbers (that don't have a
> > '-'
> > > > >>>> sign at the beginning) in Euphoria _always_ have positive values.
> > > > >>>>
> > > > >>>> Rob, is this true?
> > > > >>>>
> > > > >>>> In Euphoria, e.g.
> > > > >>>> }}}
<eucode>
> > > > >>>>    ? #FFF0       -- prints 65520
> > > > >>>>    ? #00F0       -- prints 240
> > > > >>>> </eucode>
{{{

> > > > >>>
> > > > >>>
> > > > >>> Yes, hexadecimal literals are always positive unless they have a
> > leading
> > > > >>> minus symbol.
> > > > >>
> > > > >> Rob, maybe this sentence could be added to the docs? I think it will
> > be
> > > > >> very helpful for beginners -- and people like me, who sometimes feel
> > > > >> like beginners. smile
> > > > >
> > > > > OK, I'll say something in the docs about this.
> > > >
> > > > Thanks, that will eliminate ambiguity.
> > > >
> > > > >>> However it is a bit confusing because negative integers, when
> > converted
> > > > >>> to display as hex digits via the printf() routine, display without
> > > > >>> the minus sign.
> > > > >>>
> > > > >>> printf(1, "%x", -1)  --> FFFFFFFF
> > > > >>
> > > > >> Yes, this actually confused me some days ago!! Thanks, Derek!
> > > > >>
> > > > >> Rob, is there any chance that in a future version of Euphoria,
> > > > >>    printf(1, "%x", -1)
> > > > >> will show '-1' or '-#1' instead of 'FFFFFFFF'?
> > > > >
> > > > > Euphoria's %x format for printf() uses C's %x format,
> > > > > and only works for numbers up to 32-bits in size.
> > > > > }}}
<eucode>
> > > > >      printf(1, "%x", #FFFFFFFF)
> > > > > </eucode>
{{{

> > > > > displays FFFFFFFF
> > > > > as does:
> > > > > }}}
<eucode>
> > > > >      printf(1, "%x", -1)
> > > > > </eucode>
{{{

> > > > > but Euphoria does *not* consider #FFFFFFFF to be equal to -1.
> > > >
> > > > Either it should do so, or
> > > > }}}
<eucode>
> > > >    printf(1, "%x", -1)
> > > > </eucode>
{{{

> > > > should *not* display FFFFFFFF!!
> > > > This is a great inconsistency, and a source for confusion (as Derek
> > > > wrote, too) and bugs.
> > > >
> > > > > When people are printing numbers with %x format
> > > > > they usually want to see -1 displayed as FFFFFFFF,
> > > >
> > > > It depends. E.g. people who are new to programming probably would not
> > > > expect anything, because it will be the first time they deal with hex
> > > > numbers, and they just learn what they see.
> > >
> > >
> > > I'll interject just here because we probably should understand the
<snip>


> 
> -=ck
> "Programming in a state of EUPHORIA."
> <a
> href="http://www.cklester.com/euphoria/">http://www.cklester.com/euphoria/</a>
>

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu