# Big Endian vs. Little Endian in Qiskit

I've noticed that Q# favors Little Endian. Meaning that most operations are designed for this type of encoding. Is is it the same with Qiskit?

Qiskit uses little-endian for both classical bit ordering and qubit ordering.

For classical bits:

A 3-bit classical register creg with value abc has creg[0]=c, creg[1]=b, creg[2]=a.

For qubits:

The ordering is with respect to the tensor-product structure of the state space. So a 3-qubit quantum register qreg with wave-function $$|\psi\rangle = |A\otimes B\otimes C\rangle$$ has qreg[0]$$= |C\rangle$$, qreg[1]$$= |B\rangle$$, qreg[2]$$= |A\rangle$$.

Similarly for representing unitary matrices of a circuit. $$U = U_A \otimes U_B \otimes U_C$$ would have $$U_C$$ acting on qreg[0], $$U_B$$ acting on qreg[1] and U_A acting on qreg[2].

Note that the bits are labelled from right to left. So cr[0] is the one to the furthest right, and so on. As an example of this, here's an 8 qubit circuit with a Pauli X on only the qubit numbered 7, which has its output stored to the bit numbered 7. - https://community.qiskit.org/textbook/ch-prerequisites/qiskit.html