Décalage de bits et adresse de la variable
Bonjour, j'aimerai comprendre dans le code suivant à la ligne 4 quand ont fais les décalages, par exemple
(nTmp & 0xFF) << 8) est-ce que l'on travail toujours sur la variable nTmp à son adresse ou bien (nTmp & 0xFF) se trouve tel à un autre endroit de la mémoire même si cela me semble improbable car sa obligerai le compilateur à alloué implicitement de la mémoire à un autre endroit.
Code:
1 2 3 4 5
|
uint8_t *pPtr = malloc(sizeof(uint8_t)*2);
pPtr[0] = 0; pPtr[1] = 1;
uint32_t nTmp = *(uint16_t *)pPtr;
nTmp = (((nTmp & 0xFF) << 8) | ((nTmp & 0xFF00) >> 8)); |