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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.94
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
#1

из char[] в int - C++

23.03.2012, 11:30. Просмотров 2082. Ответов 24
Метки нет (Все метки)

Задача не столь тривиальна как кажется. Мне нужно преобразовать например "2523532" в char* где данные будут храниться в 256ричной системе. И после обратно в char[]. Так вот как это сделать НЕ пользуясь int'ами?

Добавлено через 26 минут
Форумчанееее

Добавлено через 18 минут
Неужели никто не знает и даже мыслей нету? ><
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.03.2012, 11:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос из char[] в int (C++):

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Как превести из char* в int и наоборот из int в char*? - C++
Как превести из char* aa='123' в int aa=123 и наоборот из int в char* . Понимаю что самому написать функцию не сложно, но наверняка это...

Форматирование строк, char to int & int to char - C++
Покажите как запихнуть число в строку и вытащить его обратно из строки. Вот всё просто в pawn str_to_num(const str) // Тупо...

Подскажите пожалуйста с int main(int argc, char*argv[]) - C++
Если я правильно понимаю, то int argc это передача аргумента программе, т. е если argc&gt;1 то программе передан хотя бы один аргумент, если...

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) - C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

24
Driim
7 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 81
23.03.2012, 11:43 #2
Цитата Сообщение от Ksan Посмотреть сообщение
из char[] в int
Цитата Сообщение от Ksan Посмотреть сообщение
Так вот как это сделать НЕ пользуясь int'ами?
Вот совсем вас не понял!

Недавно тут поднимал тему преобразования char[] в int, самый легкий и быстрый способ это
C++
1
2
char * ch=malloc(sizeof(char)*4);
int i=*((int *)ch);
но он небезопасный
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
23.03.2012, 11:49  [ТС] #3
Driim, объясняю, пишу свой класс чисел (больше чем 2^32). Поэтому int'ами пользоваться нельзя, собственно. В процессе мне нужно задать переменной класса какое-либо число, для этого мне нужно перевести строку (например: "2254345") в 256-ричную СС, что бы хранить в char*. А для вывода на экран нужно снова преобразовать к строке. Как сделать это, не пользуясь int я не знаю
0
zss
Модератор
Эксперт С++
6542 / 6104 / 2012
Регистрация: 18.12.2011
Сообщений: 15,883
Завершенные тесты: 1
23.03.2012, 11:50 #4
Поищите в этом разделе по тексту "преобразование в любую систему счисления"
0
Ksan
27 / 27 / 0
Регистрация: 02.11.2010
Сообщений: 370
23.03.2012, 12:02  [ТС] #5
zss, там реализовано опять же через int
0
Driim
7 / 7 / 0
Регистрация: 29.03.2011
Сообщений: 81
23.03.2012, 12:07 #6
Реализуй через uint64_t туда можно записать больше чем 2^32
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
23.03.2012, 12:11 #7
Цитата Сообщение от Ksan Посмотреть сообщение
будут храниться в 256ричной системе
Зачем так экзотично?
0
zss
Модератор
Эксперт С++
6542 / 6104 / 2012
Регистрация: 18.12.2011
Сообщений: 15,883
Завершенные тесты: 1
23.03.2012, 12:25 #8
Вот нашел то, что Вам надо.
http://www.cyberforum.ru/cpp-beginners/thread32878.html#post154443
Заберите с этой страницы файл conv_w.rar
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 12:41 #9
Цитата Сообщение от kazak Посмотреть сообщение
Зачем так экзотично?
Чтобы хранить в массиве char'ов максимум информации?

Добавлено через 3 минуты
Цитата Сообщение от Driim Посмотреть сообщение
но он небезопасный
Ага, и вообще какой-то бредовый...
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
23.03.2012, 12:44 #10
Цитата Сообщение от silent_1991 Посмотреть сообщение
Чтобы хранить в массиве char'ов максимум информации?
Каким же образом? Какую систему ни выбери, а один чар все равно больше 256 в десятичной системе вместить не сможет
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 12:46 #11
kazak, да, но если мы выберем, скажем, 16-ричную систему, то он и больше 16 вместить не сможет.
0
kazak
3050 / 2371 / 160
Регистрация: 11.03.2009
Сообщений: 5,436
Завершенные тесты: 1
23.03.2012, 13:01 #12
Цитата Сообщение от silent_1991 Посмотреть сообщение
kazak, да, но если мы выберем, скажем, 16-ричную систему, то он и больше 16 вместить не сможет.
Если в чаре хранить один шестнадцетиричный символ, то да. Но это уже из ряда вон.
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 13:03 #13
Цитата Сообщение от kazak Посмотреть сообщение
Если в чаре хранить один шестнадцетиричный символ, то да
Ну так, я полагаю, именно для решения данной проблемы было озвучено "256-ричная сс".

Цитата Сообщение от kazak Посмотреть сообщение
Но это уже из ряда вон
Ну а с этим никто и не спорит
0
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.03.2012, 13:16 #14
Цитата Сообщение от silent_1991 Посмотреть сообщение
kazak, да, но если мы выберем, скажем, 16-ричную систему, то он и больше 16 вместить не сможет.
Какая разница, как интерпретировать байты? Ну выберешь ты шестнадцатеричную, а ней максимум FF, в десятичной был 255. Что это меняет?
0
silent_1991
Эксперт С++
4987 / 3044 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 13:34 #15
taras atavin, в конечном размере массива символов. Для того, чтобы разбить число на группы по 16, потребуется больше ячеек, чем на группы по 256.
0
23.03.2012, 13:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 13:34
Привет! Вот еще темы с ответами:

конвертирование (char)int (char*)int - C++
Вопрос такой каким образом можно выполнить вот такую операцию: у нас есть: int c = 12; char d = ''PS &quot;; Получиться должно...

[BCC32 Error] File1.cpp(74): E2285 Could not find a match for 'student1::student1(const char *,int,int)' - C++
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;iostream.h&gt; #include&lt;windows.h&gt; #include&lt;cstring.h&gt; #include&lt;string.h&gt; ...

Как в выделенную память записать поочередно число int, массив char[n], и еще число int - C++
Выделяю память void* Start=malloc(Size); Как туда записать поочередно число int, массив char, и еще число int?

Что есть argc и **argv в функции int main(int argc, char **argv)? - C++
Здраствуйте, уважаемые кодеры! Что означает argc и **argv в функции int main(int argc, char **argv), ни как не могу понять эти переменные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru