Войти

Показать полную графическую версию : помощь в понимании и решении задачи


julia_melni4enko@vk
30-07-2015, 14:43
Существует массив данных
int f[] = { 0x01020304, 0x05060708 };
и переменная int r=0;
необходимо в r занести сумму 0203+0607 из этого массива, то есть сумму двух байтов. Решить задачу необходимо использую тип данных char или BYTE. а также цикл, чтобы иметь возможность увеличивать массив. Вот до чего я дошла. Загвоздка в работе с типом BYTE:
int _tmain(int argc, _TCHAR* argv[])
{
int f[] = { 0x01020304, 0x05060708 };
int r = 0;
for (int i=0;i<2;i++)
{
int F = f[i];
char *p = *F;

Заранее благодарна за помощь

User001
31-07-2015, 09:33
необходимо в r занести сумму 0203+0607 из этого массива, то есть сумму двух байтов. Решить задачу необходимо использую тип данных char или BYTE. а также цикл, чтобы иметь возможность увеличивать массив. Вот до чего я дошла. Загвоздка в работе с типом BYTE: »Столбиком побайтно посчитать что ли надо? Покажите что вы вообще хотите посчитать (без привязки к языку программирования).
Загвоздка в работе с типом BYTE: »Где загвоздка? Я только кусок кода вижу. Загвоздки не вижу.
char *p = *F; »Если вам нужно получить N-ый байт из int - используйте битовые сдвиги, например:
...
int a = 0x01020304;
unsigned int b = (a >> 8 * 1) & 0x000000FF; // 1-ый 03
b = (a >> 8 * 2) & 0x000000FF; // 2-ой 02
...
Складывать столбиком, думаю, умеете.

Если вам нужно готовое решение задачи - ищите фрилансеров, одноклассников и т.д.




© OSzone.net 2001-2012