# Counting the number of 0's

I am new at digital design and I have a problem. I need to get the number of zeros. There must be 4 inputs and I must use only half-adders. I tried everything I know but I could not solve this. Do you have an idea?

• I have trouble understanding this question, can you be more informative? are you building a digital circuit with 4 inputs, purely made out of half adders? – Iancovici Oct 4 '13 at 14:21
• Yes, I have 4 inputs and as an output I need to get the number of 0's – g3d Oct 4 '13 at 14:22
• So you can't use inverters or any other gates individually? – Iancovici Oct 4 '13 at 17:19

Phase 1, invert all inputs.

• That way we can identify zeros as logic 1. and Logic 1 can be quantified easily with a half adder as oppose to logic 0.

What Half Adder and Full Adder look like How to build an inverter with a half-adder:

• keep one of the exclusive-or inputs high. Then the exclusive-or gate acts like an inverter simulate this circuit – Schematic created using CircuitLab

## NOT gate using a single Half-Adder

How to build an or gate with only half-adders, in case you need it to build the full-adder and n-bit adder:

First, build a nand gate using a half adder. Second, build an or gate from nand gates.

• You can do it by attaching the input of the not gate to the and gate. simulate this circuit

## NAND gate using 2 half-adders ## OR gate using 3 NANDs

• It might help to explain how a half-adder (the only allowed component) can be used to invert the input. – The Photon Oct 4 '13 at 17:12

It is pretty easy. Invert these inputs and then add them all. This way you will add 1 for every zero and 0 for every 1. Don't forget for the carry.

If the half adder is the only allowed component, you can use it to invert the signals, setting the one of the inputs to 1, because the 1+1=0 and 0+1=1. The carry output will be not used in this case.

• Can you add a schema? – g3d Oct 4 '13 at 13:52
• Now you're just being lazy. – John U Oct 4 '13 at 14:12
• It is not about being lazy,I didnt get it. – g3d Oct 4 '13 at 14:26
• It might help to explain how a half-adder (the only allowed component) can be used to invert the input. – The Photon Oct 4 '13 at 17:12
• @g3d - then counts the 1s and subtract from 15 – Andy aka Oct 4 '13 at 17:12