Форум программистов, компьютерный форум CyberForum.ru

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

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

из char[] в int - C++

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

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

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

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

char* to int - C++
Нужно перевести числа с char* в int. Моя функция переводит только положительные числа, а как сделать чтобы и отрицательное переводила? ...

int=>char - C++
Извините за такой тупой вопрос, в гугле искал, не нашёл подходящего ответа. Как по ASCII коду переводить номер символа в символ? ...

из int в char* - C++
Просьба помочь перевести переменную типа int в char*. Вот кусок кода, но он переводит в char и в итоге не записывает в текстовый файл. ...

Int to char - C++
Смотрел в инете примеры int i=5992; char number u; u=(char)i; cout &lt;&lt;u&lt;&lt;endl; Выходит всякое безобразие.

char-int - C++
char c; cin.get(c,99); int a; for(int i=0;i!=strlen(c)-1;i++) { sscanf(c,&quot;%d&quot;,&amp;a); cout&lt;&lt;a&lt;&lt;&quot;\t&quot;; } ...

Char в int - C++
Доброго времени суток! Хотел бы спросить следующее: Как организовать массив из русских символов? Суть проблемы: Есть у нас массив...

Из CHAR в INT - C++
Есть вопрос: Существует массив к примеру char Заполнено 3 первых символа, которые представляют собой разряды int числа. Как можно...

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

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

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

Цитата Сообщение от kazak Посмотреть сообщение
Но это уже из ряда вон
Ну а с этим никто и не спорит
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.03.2012, 13:16     из char[] в int #14
Цитата Сообщение от silent_1991 Посмотреть сообщение
kazak, да, но если мы выберем, скажем, 16-ричную систему, то он и больше 16 вместить не сможет.
Какая разница, как интерпретировать байты? Ну выберешь ты шестнадцатеричную, а ней максимум FF, в десятичной был 255. Что это меняет?
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 13:34     из char[] в int #15
taras atavin, в конечном размере массива символов. Для того, чтобы разбить число на группы по 16, потребуется больше ячеек, чем на группы по 256.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.03.2012, 13:36     из char[] в int #16
Шестнадцатеричных цифр надо ровно в два раз больше, чем двестипятидесятишестиричных, но и занимают они 4 бита, а не 8.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 13:39     из char[] в int #17
taras atavin, и что? Речь не велась о том, как склеить две 16-ричных цифры, чтобы засунуть их в один char. Если бы вопрос ставился так, сс вообще не была бы важна. В двоичной куда проще всё это делать, фигачим биты подряд в ячейки массива, не задумываясь о границах этих ячеек, и всё.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.03.2012, 13:48     из char[] в int #18
Ты не учёл, что смешанная система, одно из оснований которой является целой степенью другого, полностью эквивалентна не смешанной с основанием, равным меньшему, а если игнорировать представление цифр, то большему. Так вот, http://www.cyberforum.ru/cgi-bin/latex.cgi?2^8=4^4=16^2=256^1. То есть, двоичная, четвертичная, шестнадцатеричная и двестипятьдесятшестиричная различаются лишь интерпретацией. Тебе удобней биты? А мне байты.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
23.03.2012, 13:54     из char[] в int #19
taras atavin, я вообще ничего не учитывал, передо мной задача представления числа не стоит. Я лиш говорил о том, что используя 256ричную сс, можно использовать весь char, а используя 16ричную (без дополнительных манипуляций) - лишь малую его часть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2012, 14:30     из char[] в int
Еще ссылки по теме:

Из char[] в int - C++
Есть символьный массив. Допустим char={3, 5, 4}; как получить число int = 354 ?

Char to int - C++
int b = text; text находится цифра допустим 9 как присвоить ее инту? В шарпе же Convert.toint32(text); Добавлено через 1 минуту...

Сравнение char с int - C++
Вводим с клавиатуры двухзначное число и проверяем если первая цифра равна например 7, то выводим сообщение. Пробовал вот так: #include...

Конвертация int в char - C++
Как конвертировать int в char

char[] в int, float. - C++
Интересует такой вопрос: Допустим у меня есть массив из char, и в этом массиве посимвольно лежат цифры (через %s), т.е: char ach;...


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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.03.2012, 14:30     из char[] в int #20
Чего вдруг? Представь, что байты четырёхбитные, тогда можно записать по цифре на байт число, например, FEA4D41. А в четвертичной это будет 33322210311001, но на самом деле это те же байты, просто F=33, E=32, A=22, 4=10, D=31, 1=01. ну ка найди пропавшие биты! Здесь то же самое.
Yandex
Объявления
23.03.2012, 14:30     из char[] в int
Ответ Создать тему
Опции темы

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