Я читаю файл pcap из Wireshark и сохраняю данные в 8 бит, используя u_char. Одна часть данных находится в 64 бит, поэтому у меня есть восемь 8-битных чисел, которые мне нужно объединить в/читать как одно 64-битное число, а затем преобразовать в десятичные числа. Например, это то, что я в настоящее время64bit hex to decimal в C
Hex: 3f e2 da 2f 8b de c5 f4
Dec: 63 226 218 47 139 222 197 244
и это то, что я в настоящее время хотят,
Hex: 3fe2da2f8bdec5f4
Dec: .589134
Чтобы объединить 8 1bytes, я попытался:
long long int a;
a = (data[j] << 56) | (data[j+1] << 48) | (data[j+2] << 40) | (data[j+3] << 32) | (data[j+4] << 24) | (data[j+5] << 16) | (data[j+6] << 8) | data[j+7];
printf("%lld", a);
output: -1073815553
Помощь очень ценится. Благодарю.
Период времени предполагает, что он не является целым числом ... –