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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.71
GLTLT
Сообщений: n/a
#1

что такое hex - C++

05.02.2013, 01:26. Просмотров 3032. Ответов 5
Метки нет (Все метки)

Здравствуйте вообщем возник вопрос что такое hex и как он работает. У меня была простая программка BitTest - инициируются две переменные и выводится результаты выполнения операторов ~, &, | и ^. Но при написании её возникла трудность результат выводился 10 системой исчисления а я хотел 16. Долга иска в чем косяк наткнулся на похожую программку и заметил что в cout добавлено вот это << hex/*преобразование десятичного числа в шестнадцатеричное*/, решив это повторить у меня все заработало как я хотел. Но я все ровно не понял почему прошу вас поясните мне как все заработало, и вот еще что заметил мне потребовалось всего один раз вставить hex что бы везде поменялось число с десятичного в шестнадцатеричное, связи с этим тоже вопрос а как сделать так что бы у меня выводил и в десятичной системе, то есть пусть первый cout << "Arg1" << nArg1 в шестнадцатеричной, а cout << "Arg2" << nArg2 в десятичной

BitTest

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// BitTest - инициируются две переменные и
//           выводится результаты  выполнения
//           операторов ~, &, | и ^
#include <stdio.h>
#include <iostream>
using namespace std;
int main(int nArg, char* pszArgs[])
{
    //установка вывода в шестнадцатиричном виде
    cout.setf(ios::hex, ios::hex);
    //инициализация двух аргументов
    int nArg1 = 0x1234;
    int nArg2 = 0x00ff;
 
    //Выполнение логических операций
    // Сначала применяем унарный оператор NOT
    cout << "Arg1          = 0x" << hex << nArg1 << "\n"; // <<hex - без него не выводит 16 ответ, а выводит 10
    cout << "Arg2          = 0x" << nArg2 << "\n";
    cout << "~nArg1        = 0x" << ~nArg1 << "\n";
    cout << "~nArg2        = 0x" << ~nArg2 << "\n";
 
    // Теперь - бинарные операторы
    cout << "nArg1 & nArg2 = 0x" << (nArg1 & nArg2) << "\n";
    cout << "nArg1 | nArg2 = 0x" << (nArg1 | nArg2) << "\n";
    cout << "nArg1 ^ nArg2 = 0x" << (nArg1 ^ nArg2) << "\n";
 
    return 0;
}
похожий код из которого я взял hex

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// translate.cpp: определяет точку входа для консольного приложения.
 
#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main(int argc, char* argv[])
{
    setlocale(LC_ALL, "rus");
    int number;
 
    cout << "Введите число: ";
    cout.setf(ios::showbase); // индикатор основания системы
    cin >> number;
    cout << "Шестнадцатеричная форма записи числа " << number << " = "
         << hex/*преобразование десятичного числа в шестнадцатеричное*/ << number << endl;
 
    system("pause");
    return 0;
}
взят с сайта http://cppstudio.com/praktikum/sborn...adcaterichnoe/
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 01:26     что такое hex
Посмотрите здесь:

C++ Перевод из HEX в ASCII и ещё кое - что
[BMP] HEX (из HEX-редактора) в DEC C++
Что такое перегрузка оператора? Что у меня в коде за ошибка? C++
C++ Что такое #, include, что это означает
Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным? C++
В этой части кода происходит объявление функций? Что такое void? Что в скобках? C++
C++ Что такое рекурсивный тип данных? Что такое конструкция рекурсивного типа?
Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы C++
C++ Что такое хэндлер файла? Что такое файловый указатель?
Что такое файловый буфер? Что такое режим (модификатор) доступа, при работе с файлами? C++
Что такое заголовочный файл? Что такое файл исходного кода? Рассмотрите назначение каждого из них C++
Объяснить что такое "раздельная компиляция", что такое "интерфейс класса" и "реализация класса" на примере C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
abit
 Аватар для abit
260 / 259 / 33
Регистрация: 03.02.2013
Сообщений: 709
05.02.2013, 01:30     что такое hex #2
это манипулятор из серии setw,setprecision и т.д. он переводит поток в режим отображения 16-ричных чисел на ввод/вывод, вернуться назад в 10-ную манипулятором dec
почему бы не попробывать научиться пользоваться поиском на этом сайте:
http://www.cplusplus.com/reference/ios/hex/?kw=hex
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
05.02.2013, 01:33     что такое hex #3
C++
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
void main()
{
    cout << hex << 255 << endl;
    cout << dec << 255 << endl;
}
GLTLT
Сообщений: n/a
05.02.2013, 01:45     что такое hex #4
спасибо, вот только вопрос после того когда я напишу dec он и последующие будет показывать в 10-ную то есть например так:
C++
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
void main()
{
    cout << hex << 255 << endl;
    cout << dec << 255 << endl;
    cout << 255 << endl;
}
Пёс
 Аватар для Пёс
228 / 76 / 4
Регистрация: 03.02.2013
Сообщений: 311
05.02.2013, 01:50     что такое hex #5
GLTLT, да
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
05.02.2013, 01:52     что такое hex #6
Можете использовать старый printf() с stdio
Yandex
Объявления
05.02.2013, 01:52     что такое hex
Ответ Создать тему
Опции темы

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