![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
![]()
Здравствуйте. Интересует такой вопрос:
По-символьно считываю данные из файла... идут цифры по порядку, 123... если добавлять просто num+=data[x]; получится 1+2+3 ... в результате 6, но не целое число 123... конечно есть идея мудрить с условиями и умножать на 10 или 100, но можно обойтись простой функцией? |
![]() |
![]() |
![]() |
#2 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
![]()
спасибо )
У меня проблема... char a[100]; в этом массиве есть так же цифры... например если записать в файл char[1]; будет та цифра, какая там и есть, а если я запишу в переменную int num=char[1]; то уже совершенно другая цифра... пробовал через atoi, ошибку выдает... Последний раз редактировалось Stilet; 23.11.2009 в 08:26. |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
atoi в качестве параметра принимает не char, а указатель на строку, терминированную нулём(C-строка)
int num = char[1]; запишет в num аски-код символа, что в char[1]. ... Если Вы уверены, что в char[1] находится цифра и именно она Вам и нужна, то можно её получить в int так: Код:
Последний раз редактировалось netrino; 23.11.2009 в 00:35. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
![]()
Спасибо! Получилось! А такой вопрос на засыпку, есть число в шестнадцатеричном виде. Например: А1
Хочу его перевести в десятичное... как сделать примерно, у меня есть идея, но прежде чем мудрить с проверками и т.п, мне интересно, существует ли уже какая-либо готовая функция? Данное число состоит из двух символов... в массиве char[1]; т.е char[0] это А, char[1] это 1... можно это в строку записать, получится А1, а уже из строки переводить в переменную в десятичном виде... или напрямую из массива, или еще какие варианты есть? очень буду рад, если подскажите, и покажите на примере Последний раз редактировалось Артэс; 23.11.2009 в 01:05. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 02.06.2009
Сообщений: 218
|
![]() Код:
как мне сказал препод (кажись так), компьютер не понимает шестнадцатеричные циферки и их пришлось хранить в массиве мне (я делал компилятор для ассма) |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Не припомню, чтобы такая ф-ция была в стандартной библиотеке, тем не менее не сложно написать свою:
Код:
... опоздал ) |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
![]()
Ну в принципе как я и думал, сравнение и умножение на 16 и т.п... но спасибо все равно!
|
![]() |
![]() |
![]() |
#9 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Я бы тоже использовал свою ф-цию, но вообще есть strtol.
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цифры числа... | Mr.Qwerty | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.09.2009 18:44 |
Шестнадцатеричные цифры | Olejik | Общие вопросы C/C++ | 4 | 04.06.2009 22:27 |
Сортирует цифры по строкам, а надо чтобы сортировала цифры , записанные через пробелы | Алексей_xXx | Помощь студентам | 14 | 06.05.2009 17:42 |
Римские цифры | Sergeevich | Помощь студентам | 2 | 26.05.2008 18:21 |
Перевёрнутые цифры | BETONOMESHALKA | Общие вопросы Delphi | 2 | 04.11.2007 15:22 |