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
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 = |ABC\rangle$ has
Similarly for representing unitary matrices of a circuit. $U = U_A \otimes U_B \otimes U_C = U_A U_B U_C$ would have $U_C$ acting on
qreg, $U_B$ acting on
qreg and $U_A$ acting on
1$\begingroup$ qiskit.org/documentation/tutorials/circuits/… $\endgroup$ Oct 12, 2022 at 2:33
Note that the bits are labelled from right to left. So cr 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.
$\begingroup$ The example here is in fact the exact opposite definition. See @cjwood's answer above. In this 6 qubit example, the bit string would read 0 except for the 6th qubit which has the X gate: q_5 = 1. The ordering in the quantum state in little endian is $| q_5, q_4, q_3, q_2, q_1, q_0 \rangle$, so the bit string is $|100000\rangle$ $\endgroup$ Oct 21, 2022 at 3:51