Re: Hexadecimal numbers in Eu

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

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>

Did you HAVE to quote the entire post?! sheesh.

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

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

Search



Quick Links

User menu

Not signed in.

Misc Menu