28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
1 | |
вычислить int из char*23.10.2012, 15:52. Показов 1537. Ответов 11
Метки нет (Все метки)
Есть массив из char, в нем в 16 ричном виде записаны цифры, например a2, 01
Надо получить число в 10 виде. В данном случае будет 418 (01A2 (перевернуты)) Как это сделать ?
0
|
23.10.2012, 15:52 | |
Ответы с готовыми решениями:
11
Реализация функции char *padl(const char *string, int len, int c=' ') Как превести из char* в int и наоборот из int в char*? Форматирование строк, char to int & int to char Подскажите пожалуйста с int main(int argc, char*argv[]) |
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
||||||
23.10.2012, 16:09 | 2 | |||||
Как-то так
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
23.10.2012, 16:18 [ТС] | 3 |
нет, как то не работает. значение может быть и такое "1e 00 00 00"
0
|
Диссидент
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
|
|||||||||||
23.10.2012, 16:29 | 4 | ||||||||||
Извините, не доглядел, вот эта строчка
Добавлено через 1 минуту = 1E0000 (16) - я правильно понял?
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
23.10.2012, 16:36 [ТС] | 5 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||
24.10.2012, 06:27 | 7 | ||||||||||
Надо получить именно строку в десятичной записи числа, или перевести из шестнадцатеричной в обычный int, то есть во внутреннее представление? Во втором случае тебе нужна одна из этих функций:
Добавлено через 13 часов 22 минуты Слегка переврал:
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
24.10.2012, 07:10 [ТС] | 8 |
например
char count[5]; count[0]=0xa2; count[1]=0x01; count[2]='\0'; count[3]='\0'; ответ должен быть: 418 (01A2)
0
|
Модератор
8909 / 6678 / 918
Регистрация: 14.02.2011
Сообщений: 23,524
|
|||||||||||
24.10.2012, 07:27 | 9 | ||||||||||
а никак не делать все данные лежат в памяти как массив байт просто приведи к тому виду какой тебе нужен
например
то для этого есть объединения например можешь создать так
bla.s как к массиву коротких bla.i как к целому данные в памяти одни и те же а обращение к ним по разному
1
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
24.10.2012, 07:39 [ТС] | 10 |
код, не компилируется...
test.cpp:9: ошибка: ISO C++ не поддерживает сравнение между указателем и целым test.cpp:9: ошибка: ISO C++ не поддерживает сравнение между указателем и целым test.cpp:13: ошибка: ISO C++ не поддерживает сравнение между указателем и целым test.cpp:13: ошибка: ISO C++ не поддерживает сравнение между указателем и целым test.cpp:17: ошибка: ISO C++ не поддерживает сравнение между указателем и целым test.cpp:17: ошибка: ISO C++ не поддерживает сравнение между указателем и целым 9 if ((c>='0')&&(c<='9')) 13 if ((c>='a')&&(c<='f')) 17 if ((c>='A')&&(c<='F')) Добавлено через 9 минут Работает То что и надо было. Спасибо!
0
|
74 / 37 / 3
Регистрация: 23.09.2012
Сообщений: 408
|
|
24.10.2012, 09:05 | 11 |
atoi?
0
|
28 / 27 / 7
Регистрация: 11.06.2011
Сообщений: 387
|
|
24.10.2012, 09:13 [ТС] | 12 |
0
|
24.10.2012, 09:13 | |
24.10.2012, 09:13 | |
Помогаю со студенческими работами здесь
12
Сделать преобразование unsigned char в char, а затем типу int Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) конвертирование (char)int (char*)int int main(int argc, char* argv[]) ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |