|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
07.06.2011, 11:00 | #1 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Перевод строки в HEX в DEC
Люди, как можно преобразовать строку в HEX типа char buf[]="F4A35" в десятичное число типа int=1002037 ?
Тоесть в исходной строке представлено HEX число без обозначений типа "0x" или "h", указывающих на то, что это HEX. Грубо говоря подобное число легко вставить в калькулятор Windows в HEX режиме и нажать на кнопочку DEC и всё переведётся, но как быть без калькулятора? Или есть какие - нибуть исходники калькулятора Windows на с++ ? ;-)) |
07.06.2011, 11:11 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
07.06.2011, 11:32 | #3 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Спасибо! Чё то я об этом совсем забыл и пытался с CString ом сделать тоже самое....
Слушай, а вот как бы мне объединить две цифры типа int в одну? Например, получаю я с контроллера так сказать два числа в HEX, перевожу их в int твоим способом. Эти числа - две составляющие одного, тоесть как бы старшая часть и младшая. Тоесть одно число надо совместить со вторым, чтоб получить искомое. Вот к примеру: получаю я два числа с контроллера: int a=5, int b=345 Общее число должно выглядеть как - то так int c=ab, тоесть int c=5345 Можно ли так сказать отформатировать так число в int ? |
07.06.2011, 11:40 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
07.06.2011, 11:56 | #5 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Но тут же объединяется строка,а не число типа int.
Строку то можно объединить и проще: CString a1,a2,a3; a1="PREVED "; a2="MEDVED"; a3=a1+a2; в итоге a3="PREVED MEDVED"; ;-)) А вот как объединить две цифры в одну..... Ну вот другой пример: int a1=5; int a2=6; Вот надо, чтоб int c=a1a2; тоесть int c=56; Тоесть тут не сложение идёт, а простое форматирование цифры, тоесть совмещения одной с другой в одну общую.... 1.Так что, есть идеи какие - то по поводу выше сказанного? 2.Слушай, забыл ещё спросить, ты не в курсе, как без класса CString консольными способами получить из строки типа char buf[]="ABCDEF" последние, к примеру, 3 буквы? Тоесть получить "DEF" , ну и чтоб эти DEF тоже были в каком нибуть аналогичном формате типа char buf2[] ? |
07.06.2011, 12:05 | #6 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
хотя, можно попробовать как то так: Код:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
07.06.2011, 12:12 | #7 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
По поводу пункта 1, неужели нет какого нибуть простого оператора типа "&" или ещё какого - нибуть что просто объединить два числа в одно методом форматирования?
|
07.06.2011, 12:52 | #8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
я же сказал, изучите сначала двоичную систему счисления, и что вы в ней хотите связать?
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
07.06.2011, 13:19 | #9 |
Пользователь
Регистрация: 02.06.2011
Сообщений: 21
|
Вообщем я и сам до всего допёр, правда мой способ наверное на самый оптимальный ;-)):
int a=13; int b=45; int c; CString aa;bb;cc; aa.Format("%i",a); bb=Format("%i",b); cc=aa+bb; sscanf(cc,"%i",c); ВОТ И ВСЁ! ;-)) ну и далее CString result; result.Format("%i",cc); AfxMessageBox(result,0,0); |
07.06.2011, 13:23 | #10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
по сути один в один что я предложил в посте 4.
просто я использую STL Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перевод числа из шестнадцатеричной(hex) в десятичную(dec) | Alex1991 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 5 | 15.11.2010 14:57 |
Перевод из dec в hex | McDoC | Помощь студентам | 10 | 30.06.2010 09:03 |
Dec to Hex to Dec translator | Alex Cones | Софт | 0 | 16.05.2010 20:05 |
HEX ->DEC | 69_rus | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 13.06.2007 20:44 |