Skip to main content

logcount

logcount Function

Syntax:

logcount integer → number-of-on-bits

Arguments and Values:

integer—an integer .

number-of-on-bits—a non-negative integer .

Description:

Computes and returns the number of bits in the two’s-complement binary representation of integer that are ‘on’ or ‘set’. If integer is negative, the 0 bits are counted; otherwise, the 1 bits are counted.

Examples:

(logcount 0)0 
(logcount -1)0
(logcount 7)3

(logcount 13)3 ;Two’s-complement binary: ...0001101
(logcount -13)2 ;Two’s-complement binary: ...1110011
(logcount 30)4 ;Two’s-complement binary: ...0011110
(logcount -30)4 ;Two’s-complement binary: ...1100010
(logcount (expt 2 100))1
(logcount (- (expt 2 100)))100
(logcount (- (1+ (expt 2 100))))1

Exceptional Situations:

Should signal type-error if its argument is not an integer .

Notes:

Even if the implementation does not represent integers internally in two’s complement binary, logcount behaves as if it did.

The following identity always holds:

(logcount x)

(logcount (- (+ x 1)))

(logcount (lognot x))

Expanded Reference: logcount

tip

TODO: Please contribute to this page by adding explanations and examples

(logcount )