Data used by program is stored in memory and manipulated by various data structure techniques, depending on the nature of your program.
Memory is a bunch of electronic switches called transistors that can be placed in one of two states: on or off. The state of a switch is meaningless unless we assign a value to each state, which is done using the binary numbering system.
The binary numbering system consists of two digits called binary digits (bits): zero and one. A switch in the off state represents zero, and a switch in the on state represents one. This means that one transistor can represent one of two digits.
However, two digits don’t provide with sufficient data to do anything but store the number zero or one in memory. We can store more data in memory by logically grouping together switches.
Digits are zero-based, meaning that the first digit in the binary numbering system is zero, not 1. Memory is organized into groups of eight bits called a byte, enabling 256 combination's of zeros and ones that can store numbers from 0 through 255.
The Binary Numbering System
A numbering system is a way to count things and perform arithmetic.
There is a noticeable difference between the decimal and binary numbering systems: the decimal numbering system consists of 10 digits (0 through 9) and the binary numbering system consists of 2 digits (0 and 1).
The digits in the binary numbering system represent the state of a switch. A computer performs arithmetic by using the binary numbering system to change the state of sets of switches.