But perhaps the better question is: how can I print a 128-bit
unsigned int
with cout? (actually, I need to print it with an ostream --- so that
it is
compatible with stringstreams, file streams, etc.) You may have
noticed
that the ugly pointer conversion and all was to get away with printing
a
128-bit value as two chunks of 64-bits (since it is unsigned, and
assuming
a given endianness, I was planning o get away with that).

You can print it in two pieces with simple static_casts to uint64_t.
And the code can be encapsulated in a << operator overload -- see below.