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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неизменяемый класс в C++ http://www.cyberforum.ru/cpp-beginners/thread520216.html
Приведите пример неизменяемого класса. Меня этот вопрос поставил в тупик. Кто что слышал об неизменяемых классах? Что это такое и как его получить?
C++ Организация циклов. Условные и безусловные переходы. http://www.cyberforum.ru/attachment.php?attachmentid=121789&d=1327055835 Помогите пожалуйста сделать на си и ассемблере, очень нужно, могу помоч чем то другим http://www.cyberforum.ru/cpp-beginners/thread520168.html
C++ Массивы и указатели
a) Статическая память. Двумерный массив. Дан массив целых чисел (5х5). Найти сумму чётных и нечётных чисел. b) Динамическая память. Одномерный массив. Дан массив вещественных чисел. Правда ли,...
C++ Лабораторная работа по информатике
Ребят,помогите,пожалуйста,сделать лабу!! Задание: Дано большое десятичное число,длинной менее тысячи десятичных разрядов. Найти критерий делимости этого числа на простое число, заданное...
C++ Ошибка Undefined type в VS 2010 http://www.cyberforum.ru/cpp-beginners/thread520146.html
Суть в том,что в упражнении книги Страуструпа нужно собрать,дополнить и протестировать приведенный в книге String класс. Но там указана только основная реализация без инклудов и прочих нюансов. Так...
C++ Определить сумму элементов, не принадлежащих периметру матрицы В каждой строке прямоугольной матрицы, кроме первой и последней, определить сумму элементов, не принадлежащих периметру матрицы, после чего сгруппировать эти строки в порядке уменьшения указанных... подробнее

Показать сообщение отдельно
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261

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

16.03.2012, 17:52. Просмотров 756. Ответов 0
Метки (Все метки)

Всем привет. Нужно разобрать число на две части. Первая часть(инструкция) - шестнадцатеричное число, вторая часть(операнд) - десятичное. Допустим имеем 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 минут
Проблема решена, точнее её и не было Не правильно понял задание.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru