On one of the local BBS's here in Berkeley, A Biochemist from Oxford mentioned that it was usually better to shift vs using pow(). He said this was because of how some computers handled floating point operations. I asked him to clarify his comment, but he didn't bother to respond. Then tried to search for the answer on google groups. All I found was stuff in comp.lang.c that said
"Use shift and not pow()."

Can someone please explain to why it's more desirable to shift vs using pow() in some cases.