Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2011, 23:26   #1
blazik
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию Работа строка -> число

Задание - перевести шестнадцатиричную строку в число, при этом строка знаковая, в дополнительном коде сказали не мутить и оформленно должно быть процедурой (не стандартными средствами языка).
P.S. строка - два байта
blazik вне форума Ответить с цитированием
Старый 20.12.2011, 23:34   #2
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://programmersforum.ru/showthread.php?t=34061
_Bers вне форума Ответить с цитированием
Старый 20.12.2011, 23:38   #3
blazik
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

#include <cstdio>
#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int HexToInt(char* str)
{
int r;
sscanf(str,"%x",&r);
return r;
}

string ConcatInt(int f,int s)
{
ostringstream st;
st<<f<<s;
return st.str();
}

int main ()
{
char str[]="F4A3";
string s;
s=ConcatInt(HexToInt(str),HexToInt( str));
cout<<s<<endl;
return 0;
}

вот такой вариант пробовался на сдачу, баллы минимум, прошу помочь
blazik вне форума Ответить с цитированием
Старый 20.12.2011, 23:43   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

какие есть идеи в голове?
_Bers вне форума Ответить с цитированием
Старый 20.12.2011, 23:54   #5
blazik
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

искренне без них, писал с подсказками, нам практики толком не давали по С/С++, так что знания ограничены.
Искренне не уловил где тут учитывается проверка на положительность/отрицательность (а она вроде как нужна отдельно)
Понимаю, что, наверное, мысли - "ленивый студент" и т.д. Но 1 семестр он такой тяжелый, когда в конце понимаешь, что хвостов навалилось, а когда знаешь язык поверхностно сложно придумать подход..кто-то делал стандартными функциями, но им тоже не оценили нормально это дело..
blazik вне форума Ответить с цитированием
Старый 21.12.2011, 01:31   #6
onewho
Форумчанин
 
Регистрация: 29.09.2010
Сообщений: 636
По умолчанию

173(16) = 1*16^2 + 7*16^1 + 3*16^0 = 256 + 112 + 3 = 371(10)

действуй !
onewho вне форума Ответить с цитированием
Старый 21.12.2011, 06:31   #7
blazik
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

Цитата:
Сообщение от onewho Посмотреть сообщение
173(16) = 1*16^2 + 7*16^1 + 3*16^0 = 256 + 112 + 3 = 371(10)

действуй !
собственно с реализацией и проблема..
blazik вне форума Ответить с цитированием
Старый 21.12.2011, 09:08   #8
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от blazik Посмотреть сообщение
собственно с реализацией и проблема..
Для начала, огласи как ты понял задание.
_Bers вне форума Ответить с цитированием
Старый 21.12.2011, 09:53   #9
blazik
Новичок
Джуниор
 
Регистрация: 20.12.2011
Сообщений: 6
По умолчанию

преобразовать строку в 16 число -> 16 в двоичку, по старшему биту определить знак, если отрицательное - преобразовать, перевести в инт
были идеи с свичем для перевода сразу в двоичку, но до конца довести не смог, как вариант возможно массив из 16 элементов, забить единицами и нулями, но получится как-то очень уж грамоздко...хотя возможно облегчит перевод в 10...
blazik вне форума Ответить с цитированием
Старый 21.12.2011, 09:57   #10
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Для начала, огласи как ты понял задание.

С чем тебе предстоит иметь дело? Каким ты видишь процесс обработки данных?
Ты понял вообще, что от тебя требуется?
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа со строками. Не разберуст как определить сколько раз 2-ая строка встречается в 1-ой.( Borland3.1C) dykatob Общие вопросы C/C++ 6 05.05.2011 21:44
строка в число в c++ 2010 hippo Помощь студентам 2 06.04.2011 20:14
Процедуры, строка, графика, работа с текстами nurkamol Помощь студентам 0 15.06.2010 20:37
Процедуры, строка, графика, работа с текстами nurkamol Паскаль, Turbo Pascal, PascalABC.NET 0 14.06.2010 20:02