Мне удалось получить представление беззнаковых длинных int-октетов (BE), читая методы IPv4, и мне удалось прочитать о том, как целые числа со знаком используют MSB в качестве индикатора знака, что делает 00 00 00 00 равным 0 в то время как 7F FF FF FF - 2147483647.
Но я не могу сделать то же самое для длинных целых чисел со знаком?
#include <stdio.h>
#include <string.h>
int main (void)
{
unsigned long int intu32;
unsigned char octets[4];
intu32 = 255;
octets[3] = (intu32) & 255;
octets[2] = (intu32 >> 8) & 255;
octets[1] = (intu32 >> 16) & 255;
octets[0] = (intu32 >> 24) & 255;
printf("(%d)(%d)(%d)(%d)\n", octets[0], octets[1], octets[2], octets[3]);
intu32 = (octets[0] << 24) | (octets[1] << 16) | (octets[2] << 8) | octets[3];
printf("intu32:%lu\n", intu32);
return 0;
}
Спасибо заранее,
Doori bar