Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   помощь в понимании и решении задачи (http://forum.oszone.net/showthread.php?t=303110)

julia_melni4enko@vk 30-07-2015 14:43 2534267

помощь в понимании и решении задачи
 
Существует массив данных
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 2534739

Цитата:

Цитата julia_melni4enko@vk
необходимо в r занести сумму 0203+0607 из этого массива, то есть сумму двух байтов. Решить задачу необходимо использую тип данных char или BYTE. а также цикл, чтобы иметь возможность увеличивать массив. Вот до чего я дошла. Загвоздка в работе с типом BYTE: »

Столбиком побайтно посчитать что ли надо? Покажите что вы вообще хотите посчитать (без привязки к языку программирования).
Цитата:

Цитата julia_melni4enko@vk
Загвоздка в работе с типом BYTE: »

Где загвоздка? Я только кусок кода вижу. Загвоздки не вижу.
Цитата:

Цитата julia_melni4enko@vk
char *p = *F; »

Если вам нужно получить N-ый байт из int - используйте битовые сдвиги, например:
Пример
...
int a = 0x01020304;
unsigned int b = (a >> 8 * 1) & 0x000000FF; // 1-ый 03
b = (a >> 8 * 2) & 0x000000FF; // 2-ой 02
...

Складывать столбиком, думаю, умеете.

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


Время: 21:39.

Время: 21:39.
© OSzone.net 2001-