How can I determine that a positive integer has exactly one zero in its binary representation? Given an integer, how can I find the next highest and next lowest integer with the same number of 1s in the 2's complement binary representation?