Conversion d'un tableau d'octets (tableau char) en un type entier (short, int, long)

Je me demandais si le système de stockage des questions lors de la conversion d'un tableau d'octets pour un court /int /long. Serait-ce incorrect de faire si le code s'exécute sur big-endian et little-endian machines?

short s = (b[0] << 8) | (b[1]);
int i = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | (b[3])

source d'informationauteur Mike