Форум программистов, компьютерный форум CyberForum.ru

Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A - C++

Восстановить пароль Регистрация
 
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
19.10.2010, 19:42     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #1
Есть массив hex значений:

C++
1
2
3
4
5
6
7
8
9
10
11
#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 байтное слово в массиве

C++
1
__int16 aaa[]
разбить по полам типа 0x110f на 0x11 0x0f и результат вывести на экран.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.10.2010, 19:42     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A
Посмотрите здесь:

C++ Небольшой вопросик
Не сложный вопросик!!! C++
C++ массивы, есть вопросик
из Visual Basic в С++..маленький вопросик C++
C++ Маленький вопросик
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
19.10.2010, 23:02     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #2
__int16 val;
// ...
Старший байт:
val >> 8

Младший байт:
val & 0xFF
Manjak
 Аватар для Manjak
268 / 174 / 7
Регистрация: 12.03.2010
Сообщений: 494
19.10.2010, 23:03     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #3
Для этого есть специально обученные макросы: HIBYTE, LOBYTE
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
19.10.2010, 23:04     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #4
А, и ещё. Вы не инициализируете bbb, кроме того первое выражение в описании цикла непонятно.
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
20.10.2010, 20:06  [ТС]     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #5
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
А, и ещё. Вы не инициализируете bbb, кроме того первое выражение в описании цикла непонятно.
Не понятно, а код компилируется и массив читается что тут не понятного?
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
20.10.2010, 20:31     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #6
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
А, и ещё. Вы не инициализируете bbb
Глобальные переменные, если не инициализированы явно, неявно инициализируются нулевым значением
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
20.10.2010, 20:56     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #7
Цитата Сообщение от PointsEqual Посмотреть сообщение
Глобальные переменные, если не инициализированы явно, неявно инициализируются нулевым значением
Это согласно стандарту ?
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
20.10.2010, 21:12  [ТС]     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #8
Правельно мне надо было задать переменной bbb = 0.
А компилятор наверное задаёт 4886 или 888 или 999 или 1 или A4F66D?

Добавлено через 2 минуты
Цитата Сообщение от Manjak Посмотреть сообщение
Для этого есть специально обученные макросы: HIBYTE, LOBYTE
СПС единственный кто просто ответил и помог.

Добавлено через 5 минут
Надо создать тему "чем иницилезируются пустые глобальные переменные"
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.10.2010, 06:17     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #9
C89. 3.5.7 Initialization
If an object that has static storage duration is not initialized
explicitly, it is initialized implicitly as if every member that has
arithmetic type were assigned 0 and every member that has pointer type
were assigned a null pointer constant. If an object that has
automatic storage duration is not initialized explicitly, its value is
indeterminate.
внешние переменные static всегда, а локальные, когда static int i;
поэтому для внешних переменных слово static имеет другое назначение (закрывает переменную или функцию в файле, переменная становится невидимой из других файлов .c)
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
21.10.2010, 19:35  [ТС]     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #10
Цитата Сообщение от Manjak Посмотреть сообщение
Для этого есть специально обученные макросы: HIBYTE, LOBYTE
Нашол макросы LOWORD, HIWORD но результат таков что HIWORD даёт значение ноль

C++
1
2
3
4
5
6
7
8
9
10
11
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
#include "winsock2.h" 
using namespace std;
unsigned char ddd = 0xA6D3;
int main()
{
cout << hex << HIWORD(ddd) << endl << LOWORD(ddd);
    getch();
}
результат вывода

0
d3

по идеи должно быть

a6
d3
Andrew_Lvov
Эксперт C++
 Аватар для Andrew_Lvov
259 / 189 / 5
Регистрация: 19.08.2010
Сообщений: 758
Записей в блоге: 1
21.10.2010, 20:01     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #11
Если вы позволите вмешаться.
unsigned char хранит всего 1 байт.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2010, 20:19     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A
Еще ссылки по теме:

C++ маленький простенький вопросик...
Мааааленький такой вопросик C++
C++ маленький вопросик

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
21.10.2010, 20:19  [ТС]     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A #12
Цитата Сообщение от Andrew_Lvov Посмотреть сообщение
Если вы позволите вмешаться.
unsigned char хранит всего 1 байт.
да точно я забыл
Yandex
Объявления
21.10.2010, 20:19     Назрел вопросик разбить 0xF32A на 0xF3 и 0x2A
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru