How to do bit manipulation in VBA?

C

curiousgeorge408

I want to pass a floating-point number to a VBA function and access
the binary representation. In C, I might declare a union of double
and 8-element unsigned char array, assign the function parameter to
the double, then access the bits of the unsigned char array.
Alternatively, I might use memcpy() to copy the floating-point
parameter into an 8-element unsigned char array.

How can I accomplish that (either one) in VBA?
 
C

curiousgeorge408


Thanks for the pointer. (Sigh, Google Groups seems to be truncating
the URL in this response.)

I did see this thread when I searched GG before posting my inquiry.
But I was unable to look at threads from early 2005 and earlier,
including this one. I ass-u-me-d that GG kept the NG index, but not
the articles. (I thought that was odd, but I imagined a dubious
benefit.) But after I clicked on your link, I discovered that all the
links in the search result now work. I'm sure it has nothing to do
with clicking on your link. The earlier failure must've been a hiccup
in the GG intranet. Klunk! I'll try to be more patient in the
future.

Anyway, this is a great(!) pointer. It sparks some follow-up
questions, which are non-technical. I hope someone will be kind
enough to offer some insight.

First, where can I learn (more) about the user-callable entry points
in the Kernel32 lib -- and any other system libs that might be
accessible to VBA programs?

I don't 'spose there are "man pages" <wink>.

(My VBA book does mention some useful entry points and how to use
them. But it is not complete, by a long shot.)

Second, where can I learn (more) about the VBA language?

I'm looking for the "K&R" of VBA <wink>.

My VBA book, which is one of the most recommended in these NGs, does
not mention LSET, for example. At least, not that I recall. The
book's index is terrible. So it is possible that LSET is mentioned in
context somewhere, and I simply can no longer find it (like almost
everything else), having no idea in what context the author chooses to
introduce what <sigh>.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top