# mpz_remove_ui

**Karl Hasselstrom
**
kha@treskal.com

*Sun, 13 Jul 2003 21:46:40 +0200*

--IJpNTDwzlM2Ie8A6
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On 2003-07-12 11:04:52 -0500, Andrew Friedley (CNS Student Support)
wrote:
>* A quick glance at the docs didnt show me anything, but is there a
*>* quick way to determine if a number is a power of two?
*
The positive integer x is a power of two iff x & (x-1) =3D=3D 0. (If x is
indeed a power of two, it will have exactly one set bit; (x-1) will
have that bit unset, so their & will be all zero. If x is not a power
of two, x and (x-1) will have the same most significant set bit, which
will be preserved by the &. Note that this algorithm considers 0 to be
a power of two.)
--=20
Karl Hasselstr=F6m, kha@treskal.com
www.treskal.com/kalle
--IJpNTDwzlM2Ie8A6
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)
iD8DBQE/EbcgN7iPzXSoOQoRAitoAJoDdIpB1NAeQuaI4scjN6yKTjc+sgCfTWj8
jhaNKbKmGaV/m5U88+GH9iw=
=+HKJ
-----END PGP SIGNATURE-----
--IJpNTDwzlM2Ie8A6--