|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
20.12.2011, 23:26 | #1 |
Новичок
Джуниор
Регистрация: 20.12.2011
Сообщений: 6
|
Работа строка -> число
Задание - перевести шестнадцатиричную строку в число, при этом строка знаковая, в дополнительном коде сказали не мутить и оформленно должно быть процедурой (не стандартными средствами языка).
P.S. строка - два байта |
20.12.2011, 23:34 | #2 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
20.12.2011, 23:38 | #3 |
Новичок
Джуниор
Регистрация: 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; } вот такой вариант пробовался на сдачу, баллы минимум, прошу помочь |
20.12.2011, 23:43 | #4 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
какие есть идеи в голове?
|
20.12.2011, 23:54 | #5 |
Новичок
Джуниор
Регистрация: 20.12.2011
Сообщений: 6
|
искренне без них, писал с подсказками, нам практики толком не давали по С/С++, так что знания ограничены.
Искренне не уловил где тут учитывается проверка на положительность/отрицательность (а она вроде как нужна отдельно) Понимаю, что, наверное, мысли - "ленивый студент" и т.д. Но 1 семестр он такой тяжелый, когда в конце понимаешь, что хвостов навалилось, а когда знаешь язык поверхностно сложно придумать подход..кто-то делал стандартными функциями, но им тоже не оценили нормально это дело.. |
21.12.2011, 01:31 | #6 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
173(16) = 1*16^2 + 7*16^1 + 3*16^0 = 256 + 112 + 3 = 371(10)
действуй ! |
21.12.2011, 06:31 | #7 |
Новичок
Джуниор
Регистрация: 20.12.2011
Сообщений: 6
|
|
21.12.2011, 09:08 | #8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
|
21.12.2011, 09:53 | #9 |
Новичок
Джуниор
Регистрация: 20.12.2011
Сообщений: 6
|
преобразовать строку в 16 число -> 16 в двоичку, по старшему биту определить знак, если отрицательное - преобразовать, перевести в инт
были идеи с свичем для перевода сразу в двоичку, но до конца довести не смог, как вариант возможно массив из 16 элементов, забить единицами и нулями, но получится как-то очень уж грамоздко...хотя возможно облегчит перевод в 10... |
21.12.2011, 09:57 | #10 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
Для начала, огласи как ты понял задание.
С чем тебе предстоит иметь дело? Каким ты видишь процесс обработки данных? Ты понял вообще, что от тебя требуется? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа со строками. Не разберуст как определить сколько раз 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 |