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

Разбор числа - C++

Восстановить пароль Регистрация
 
R136a1
 Аватар для R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
16.03.2012, 17:52     Разбор числа #1
Всем привет. Нужно разобрать число на две части. Первая часть(инструкция) - шестнадцатеричное число, вторая часть(операнд) - десятичное. Допустим имеем 0xA225. Инструкция - 0xA2, операнд - 25. Собственно, с этим разобрался, но сейчас стоит задача ещё и обрабатывать числа с плавающей точкой, допустим 0xA21.2 . Инструкция - 0xA2, операнд - 1.2 . Вот с этим разобраться не могу, есть мысль, вводить число как массив char , а потом разложить с помощью sscanf, но я думаю есть более элегантное решение. Ведь так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        scanf("%x",&num);
 
        instruction = (num >> 8);
 
        operand = (num & 0xFF);
 
        std::stringstream temp_stream;
 
        temp_stream << std::hex << operand;
 
        std::string temp_string;
 
        temp_stream >> temp_string;
 
        std::stringstream conv(temp_string);
 
        conv >> operand;
Добавлено через 1 час 29 минут
Проблема решена, точнее её и не было Не правильно понял задание.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2012, 17:52     Разбор числа
Посмотрите здесь:

C++ Разбор задания
Разбор кода C++
разбор среды C++
разбор программы C++
C++ Разбор OpenSource
C++ Разбор кода
Разбор алгоритма C++
Разбор выражений C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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