There is a qualitative difference between modern sorting technology
and the very simple 'logical' or lexicographic sorting operations
performed by a card sorter, one that Chris.Baicher properly emphasized
in an earlier post.  They use data transformations to make it possible
for two keys to be compared using a single CLC[L].  (DB2 does similar
things too.)

A single example will suffice here.  The four signed binary-integer
storage formats and the nine floating-point storage formats all use
the twos-complement sign-representation, 0b for non-negative or 1b for
negative.  The single-byte signed representation of -128 is thus
11111111b and that of +127 is 01111111b.   Lexicographically,  the 2C
representation of -128 is greater than the 2C representation  of +127.
 This inconvenience can be dealt with in a constructed key that
concatenates 'mixed' data-type sort fields in at least two ways, e.g.,
 by complementing the high-order, leftmost bits of such quantities.

Operations of this kind are well beyond the scope of card sorters.
Sorts have become black boxes.  Few of their users know or care much
about what goes on inside them, and this is a pity because they embody
a lot of not at all obvious technology that is of considerable
interest.  Much of it is or, better, would be useful elsewhere too.

John Gilmore, Ashland, MA 01721 - USA

Reply via email to