A ones counter that accepts a binary input word of ones and zeros and provides
a binary output word indicative of the number of ones within the input word. A
two-dimensional array is built with a plurality of like cells connected in a regular
manner with the first row of the array determining the least significant bit of
the output word and each subsequent row determining the output word's next most
significant bit. The first row of the array contains approximately one-half the
number of cells as bits in the input word with each subsequent row of the array
containing approximately one-half the number of cells of the preceding row with
the final row containing a single cell that determines the most significant bit
of the binary output word. The ones-count output word is computed asynchronously
without clocking circuits or data storage elements.