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

Re: [lojban] Re: hexadecimal and lojban



At 08:58 AM 6/18/2001, pycyn@aol.com wrote:
In a message dated 6/18/2001 2:39:19 AM Central Daylight Time,
thinkit8@lycos.com writes:


anyway, i was hoping the creators really
made dau-vai with the hope of hexadecimal as default in the future.


As the specification of bases makes clear, Lojban considers decimal as
fundamental.

I'm sorry to hear that. It should only be a default.

Anyway, duodecimal is the most convenient form for humans
(finger counting aside).

Humans have uses for binary, octal, decimal, duodecimal, hexadecimal, base 20, base 60, and all sorts of mixed bases, starting with 24 60 60. I would prefer to see less cultural bias on this point, and less insistence that one or another representation is inherently superior.

The best handling of base representations and evaluations is in APL and J, which have them both as primitives called encode and decode, respectively. Given the time of day in seconds as T, we can evaluate the J expression

   24 60 60 #. T

to encode the time as hours, minutes, and seconds. Given time in a vector (aka array) HMS, we can convert to seconds with

   24 60 60 #: HMS

This also works for some of the truly weird bases, such as factorial representation, non-integer bases, and complex bases, which can be found in the writings of Knuth and Iverson. Fibonacci representations require a bit more work.

<aside>
Another nice feature of J, following APL, is that

   C #: X

evaluates the polynomial with coefficients C for the value X.

APL had a long-running rwar about whether to start counting at 0 or 1, since it supported both options. Almost all of the business users preferred to start at 1, while the mathematicians and non-business programmers preferred 0. Iverson, being a mathematician, settled on origin 0 in creating J.

We all agreed, however, that the day should not begin at 12 0 0, with clock time starting at 1 0 0 an hour later.
</aside>