Was willst du eigentlich machen? Du willst die Dezimalstellen einzeln rausholen? Dann führt der Weg hier nicht zum Ziel.

Mit der Methode hier zerlegst du die gesamte 4-byte Binärrepresentation der long int in bytes, also Gruppen zu 8 bit.

In dem Fall wär 12345678 = 78*256^0 + 97*256^1 + 188*256^2 + 0*256^3.
und der Inhalt der 4 bytes: 78, 97, 188, 0.

Die Dezimalstellen kriegst du mit jede Menge /10, %10 Operationen raus. Bzw. wär Umwandlung in String wirklich eine Überlegung wert.

Code:
1ste Stelle = zahl%10

zahl /= 10

2te Stelle = zahl%10

zahl /= 10

3te Stelle = zahl%10

...