On Wed, Jul 23, 2014 at 10:22 AM, Doug Currie <doug.cur...@gmail.com> wrote:

> > Why are hex literals interpreted as signed at all? You could simply
> > > consider all hex literals as unsigned values. If you need a negative
> > value,
> > > prefix it with the - operator, e.g., -0x77.
> > >
> > > With this approach (a) there is no discombobulating segment, (b) all 64
> > bit
> > > bit-masks are supported, and (c) the gradual overflow to double makes
> > > sense.
> >
> >
> > Because SQLite only supports signed integers internally.  If hex literals
> > must be unsigned, that limits them to 63 bits.
> >
>
> Here's an analogy: a sequence of decimal digits is unsigned; it only
> becomes negative when you put a "-" in front of it.
>
> Why shouldn't hex work the same way? (to eliminate the discombobulating
> segment)
>

Because then you would not be able to write (in hex) a 64-bit bitmap that
had the most significant bit set.

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to