Where are your big numbers coming from? If you're manipulating them at all, you probably need a multiple-precision math library. If you use Math::GMP, there's gmp_tstbit. (Math::BigInt doesn't seem to have an efficient way to fetch a particular bit.)