Если без знака то
char long24_mem_area[4]; // 24-битное число расположено в [1][2][3] long24_mem_area[0] = 0; unsigned long MyLong32 = * (long *) &long24_mem_area[0]; (только выравнивание должно быть правильным)
если знаковое - то надо выполнить операцию расширения знакового разряда 24-битного целого в старшие и знаковый разряд 32-разрядного. Могу ошибится, см. операции с числами в дополнительном коде.
Сообщение отредактировал k155la3 - Mar 1 2017, 11:40
|