Quantum Computing uses principles of quantum mechanics, such as superposition and entanglement, to perform calculations. Classical computers encode data in binary digits known as bits. Bits are able to hold a value of either 1 or 0 (on or off). Quantum computers encode data with quantum-mechanical systems known as qubits (quantum bits). Due to the principle of superposition, qubits are able to hold a value of either 1, 0 or some combination of the two. As a result, a set of n qubits has a probability of being every single possible combination of bits simultaneously (2n combinations). For example, 2 qubits can represent 4 times as many values as 2 classical bits. Additionally, the phenomenon of quantum entanglement links the states of qubits together (qubit states cannot be described independent of one another), which allows for improved speed in quantum algorithms. These  properties mean that quantum computers are able to perform multiple calculations in parallel and vastly speed up certain computational processes. Although multiple calculations can be performed in parallel, only one possible result can be measured. As a result, only certain types of algorithm can be used to produce an answer that is significant. Quantum computing will only be useful for some applications; however, it may also be able to solve problems that classical computers cannot. The hypothetical point at which this may occur has been called ‘Quantum Supremacy’.