Work when you want, how you want, wherever you want in the world.

Binary Numbers

Sep 15, 2023

Man staring at computer screen with ones and zeros.

In computer science, "binary" refers to a base-2 numeral system used to represent information in computers and digital electronic devices. Binary is a fundamental concept in computer science because it forms the foundation of how computers store, process, and transmit data. This data can include numbers, text, images, and any other form of information that can be converted into a binary format.

Computers and digital electronic devices, such as smartphones, tablets, and digital cameras, rely heavily on the binary system. These devices use electronic circuits and switches to work with binary data because electronic components can easily distinguish between two states (usually represented as 0 volts and 5 volts or low and high voltage), making binary the ideal choice for representing information in digital form.

Base-2 System

In a base-2 numeral system, there are only two possible values. In the context of computer science, these values are 0 and 1. In contrast, humans typically use the base-10 numeral system of ten possible values (0, 1, 2, 3, 4, 5, 6, 7, 8, and 9).

The basic unit of binary information is called a "bit," which is a contraction of "binary digit." A bit is either a 0 or 1. These values correspond to the absence or presence of an electrical signal, respectively. Binary numbers are composed of sequences of bits. Each bit in a binary number represents a power of 2, starting from the rightmost bit as 2^0 (2 raised to the power of 0), the next bit as 2^1, then 2^2, 2^3, and so on. By combining these powers of 2 with the values 0 and 1, you can represent any positive integer in binary form. A byte is a group of 8 bits, which is a common unit for representing and manipulating data in most computer systems. Bytes allow for the representation of a wider range of values and characters.

Saying "2^0" is the same as saying "2 raised to the power of 0" or "2 to the zeroth power." Both notations represent the same mathematical concept, where 2 is the base and 0 is the exponent. In this context, the base (2) raised to the exponent (0) results in the value 1. So, "2^0" and "2 to the zeroth power" are equivalent and both represent the number 1 in mathematics. In mathematics, any non-zero number raised to power of zero results in the same value: 1. Negative numbers and positive numbers raised to the power of zero result in a value of 1. The only exception to this rule would be the number zero. Zero raised to the power of zero results in a value "not defined".

Example:
- Binary 0001 represents decimal 1 (2^0).
- Binary 0010 represents decimal 2 (2^1).
- Binary 0100 represents decimal 4 (2^2).
- Binary 1010 represents decimal 10 (2^1 + 2^3).

In the above example, you have four different 4-digit binary numbers. Each digit in a binary number represents a place holder or index. To convert a binary number into a base-10 number, we work from right to left.

In the first example, "0001", the number 1 is in the first place holder, or [0] index, when reading from right to left. In the second example, "0010", the number 1 is in the second place holder, or [1] index.

In computer science, we normally begin counting from 0, not 1. For example, in an array data structure, to retrieve the first element in the array, we call the [0] index of the array. If you are unfamiliar with arrays, don't worry. For this article, just know that we start counting at 0.

When converting a binary number into a base-10 number, you examine where each "1" is located in the binary number sequence from right to left. Each index of a number "1" represents the power that you will raise the base number 2. For example, "0001", the number 1 is in the [0] index (first placeholder from right to left). So we take the base number 2 and raise it to the power of 0. Likewise, in the example, "0010", the number 1 is in the [1] index (second placeholder from right to left). So we take the base number 2 and raise it to the power of 1.

If a binary sequence has more than one number 1, you add the values together. For example, in "1010", there is a "1" in the [1] index and [3] index of the binary sequence. So for this example, you take the base number 2 and raise it to the power of 1, then ADD that value to the base number 2 raised to the power of 3 (index [3]). This results in 2 + 8 to give you a total value of 10.

Here is another example: "01001000". This 8-digit sequence has 8 indexes. Remember, we count from right to left. We have "1"s in the [3] index and the [6] index of the 8-digit sequence, so we need to add the two values together. We take the base number 2 and raise it to the power of 3 resulting in a value of 8. We then take the base number 2 and raise it to the power of 6 resulting in a value of 64. Adding 8 + 64 results in a total value of 72. If we lookup the decimal value of 72 in an ASCII table, it tells us that 72 represents the letter "H". This is how computers store data.

Computers use binary for various operations, such as addition, subtraction, multiplication, and division. These operations are performed using binary arithmetic rules, which are similar to those in the decimal system but with base-2 instead of base-10. Binary numbers can be converted to and from other numeral systems, such as decimal (base-10), hexadecimal (base-16), and octal (base-8), using specific rules and algorithms.

Inside a computer's memory and storage devices, data is stored in binary format. Each piece of data, whether it's a number, text, image, or program, is represented as a sequence of binary digits. For example, text characters are often encoded using ASCII or Unicode, where each character corresponds to a unique binary code.

In electronic circuits, binary signals are used to represent information because electronic components can easily distinguish between two voltage levels, corresponding to 0 and 1.

In conclusion, binary is a core concept in computer science and digital technology because it provides a concise and efficient way to represent and manipulate data in the electronic world, which is ultimately based on the on/off states of electronic switches. Computers use binary as their native language, and it forms the basis for all digital communication and computation.

Latest Articles

Single Responsibility Principle

The Single Responsibility Principle (SRP) is one of the five SOLID principles of object-oriented programming and design, introduced by Robert C...

Read More

Singleton Design Pattern

The Singleton Design Pattern is one of the most commonly used design patterns in software engineering...

Read More

MVC: Model-View-Controller Design Pattern

Model-View-Controller (MVC) is a software architectural pattern used in the design and development of applications, particularly in the context of user interfaces...

Read More

The MEAN Stack

The MEAN stack is a popular technology stack used for building web applications...

Read More

The Internet of Things

The Internet of Things (IoT) refers to the interconnection of everyday objects and devices to the internet, allowing them to collect and exchange data with each other and with centralized systems or applications...

Read More

The Cloud

Cloud computing is a technology that enables users to access and use computing resources (such as servers, storage, databases, networking, software, and more) over the internet and on-demand...

Read More