Форум программистов CodeGuru
24 Июль 2017, 02:50:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A  (Прочитано 17247 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ATAMAN200
Интересующийся
**
Офлайн Офлайн

Сообщений: 29


Просмотр профиля
« : 19 Октябрь 2010, 19:47:26 »

Есть массив hex значений:

Код:
#include "stdafx.h"
#include <iostream>
#include "conio.h"
using namespace std;
__int16 aaa[] = {0x110f,0x210f,0x220f,0x567f,0x895f,0x479f}, bbb;
int main()
{
    for(aaa[bbb]; bbb < sizeof(aaa)/sizeof(*aaa); bbb++)
        cout << hex << aaa[bbb]  << endl;
    getch();
}

хотелось бы каждое 2 байтное слово в массиве

Код:
__int16 aaa[]

разбить по полам типа 0x110f на 0x11 0x0f и результат вывести на экран.
Записан
nls
Новичок
*
Офлайн Офлайн

Сообщений: 3


Просмотр профиля
« Ответ #1 : 20 Октябрь 2010, 05:43:03 »

(aaa[bbb] >> 8) & 0xff
aaa[bbb] & 0xff
Записан
c-coder
Пользователь
***
Офлайн Офлайн

Сообщений: 110


Просмотр профиля
« Ответ #2 : 21 Октябрь 2010, 02:32:55 »

Или можно указателем на char пройтись по массиву.

char *p = (char *) &aaa[0];
cout << hex << *p;
и наращивать p в цикле.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!