# Overview

Computers can perform numerous tasks for us. To name only a few: We can use them to perform almost any calculation very fast, we can use them to process text, we can use them to listen to music or stream videos, we can chat with other people anywhere in the world, and they can even recognize faces or understand voice commands.

The breadth of tasks computers can perform is already astonishing by itself, but it becomes even more breathtaking when we consider that really all a computer can do is turn simple switches on and off.&#x20;

To understand how computers work, we must understand how a number system with only ones and zeroes works:

{% content-ref url="the-binary-system" %}
[the-binary-system](https://iot.datalit.de/appendix/digital-computers/the-binary-system)
{% endcontent-ref %}

Understanding code systems gives us an idea how computers represent other things than 0 and 1.

{% content-ref url="code-systems" %}
[code-systems](https://iot.datalit.de/appendix/digital-computers/code-systems)
{% endcontent-ref %}

Now that we know how computers represent different things, let's learn how they can process information. For that, we need a few small and simple devices

{% content-ref url="logic-gates" %}
[logic-gates](https://iot.datalit.de/appendix/digital-computers/logic-gates)
{% endcontent-ref %}

How can computers perform arithmetic with only simple logic gates?

{% content-ref url="binary-addition" %}
[binary-addition](https://iot.datalit.de/appendix/digital-computers/binary-addition)
{% endcontent-ref %}
