Как правилно конвертирате 4 byes в една дълга променлива без знак?
Програмирам PIC18 на MPLAB C18 и това е моят код.
unsigned long theseconds = 0x00;
BYTE timeToSave[4];
timeToSave[0] = 0xFF;
timeToSave[1] = 0xFF;
timeToSave[2] = 0x01;
timeToSave[3] = 0x01;
theseconds = timeToSave[0] & 0xFF;
theseconds |= (timeToSave[1] << 8) & 0xFFFF;
theseconds |= (timeToSave[2] << 16) & 0xFFFFFF;
theseconds |= (timeToSave[3] << 24) & 0xFFFFFFFF;
printf("\r\nSeconds:%lu",theseconds);
Това е резултатът, който продължавам да получавам, Секунди: 255
Благодаря!
int
. Работи само акоsizeof(int)==sizeof(long)
- person jeb   schedule 15.07.2013