powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно привести тип в функции конвертации системы исчисления
11 сообщений из 36, страница 2 из 2
Как правильно привести тип в функции конвертации системы исчисления
    #38563402
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stut,

ты решил написать свою функцию, поскольку не знал о существовании СТАНДАРТНОЙ функции strtol. это понятно. теперь тебе говорят, что есть стандартная функция

http://www.cplusplus.com/reference/cstdlib/strtol/

и ты спрашиваешь при чем здесь она?

конечно же не причем, но все же на будущее надо использовать стандартные средства и уже после использоваться "колхоз", если только ты не ставишь своей целью обучение.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38565409
stut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот вопрос в тему: как написать функцию atoi перевода строчного числа в int? Если отнимать '0' то понятно. А если без этого. В нете есть один пример таких функции только там реверс идет? Для чего?
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38565412
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stutвот вопрос в тему: как написать функцию atoi перевода строчного числа в int? Если отнимать '0' то понятно. А если без этого. В нете есть один пример таких функции только там реверс идет? Для чего?
Любая функция в итоге сведется к тому что надо отнимать '0'.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568025
stut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://stackoverflow.com/questions/5710091/how-does-atoi-function-in-c-work--здесь вот другой пример. Но я так понимаю что надо найти первую цыфру или знак (минус). Потом если минус-то занести в переменную сайн. Потом заносить цыфры в масив целых чисел. Если после конца встречается пробел то закончить формирование масива. А потом масив цыфр определя его длину уже превратить в десятичное число. Это мое понимание создание собственной итои-функции без использование указателей? Не знаю насколько это эфективно-ибо наверное надо выделять динамическую память?
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568038
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stutнаверное надо выделять динамическую память?
тут надо дополнительный поток создать, выполнять в нем это преобразование и через мьютекс проверять окончание расчета. Шутка.

Там тоже самый алгоритм что и выше перевод из 16ричной, только вначале дополнительно добавлена проверка знака + или -
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568058
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stutвот вопрос в тему: как написать функцию atoi перевода строчного числа в int? Если отнимать '0' то понятно. А если без этого. В нете есть один пример таких функции только там реверс идет? Для чего?
Вот мы в школе на уроках информатики первой темой изучали
преобразования систем счисления. Алгоритм стандартый.
Без вариантов.

Что ты хочешь получить от atoi - непонятно.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568159
stut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да было у меня такое задание для написание собственной атои-функции--только это не задание на школьном уроке, и даже на универс. занятие. Конечно ничего сложного. Но если использовать стандартную функцию что переводит масив символов в целое долгое то вообще будет просто. Но когда всречаешся впервую с этим не знаеш к чему это.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568234
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stut http://stackoverflow.com/questions/5710091/how-does-atoi-function-in-c-work--здесь вот другой пример. Но я так понимаю что надо найти первую цыфру или знак (минус). Потом если минус-то занести в переменную сайн. Потом заносить цыфры в масив целых чисел. Если после конца встречается пробел то закончить формирование масива. А потом масив цыфр определя его длину уже превратить в десятичное число. Это мое понимание создание собственной итои-функции без использование указателей? Не знаю насколько это эфективно-ибо наверное надо выделять динамическую память?
Где ты там увидел выделение динамической памяти? Тебе на вход пришёл указатель на строку.
Память уже до тебя выделена. Ты должен вернуть атомарный тип. short, int, long e.t.c.
Это всё - работа со стеком. Никаких операций malloc, new не требуется.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568270
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stutНо когда всречаешся впервую с этим не знаеш к чему это.
Надо учиться отлаживать код. Непонимаешь как работает - навтыкай вывод на экран и смотри пошагово что происходит.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
int hexdec (char * hex)
{
    int res=0;
    printf("res=%d\n", res);
    for (; *hex; hex++)
    {
       printf("hex = %s *hex=%d\n", hex, *hex);
        res <<= 4;
       printf("res=%d\n", res);
        if (*hex > '9')
            res += *hex - 'A' + 10;
        else
            res += *hex - '0';
       printf("res=%d\n", res);
    }
    printf("hex = %s *hex=%d\n", hex, *hex);
    printf("res=%d\n", res);
    return res;
}


Сначала так, потом пользоваться отладчиком научишься.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568290
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TСначала так, потом пользоваться отладчиком научишься.Я бы сказал наоборот.
Сначала то можно и с отладчиком баловаться, а на серьезных проектах отладочный вывод - единственно возможная вещь. Так что если научиться вести логи с младенчества - много потом себе нервов сохранишь и времени выиграешь.
...
Рейтинг: 0 / 0
Как правильно привести тип в функции конвертации системы исчисления
    #38568656
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня чаще были ситуации когда не было возможности вообще использовать отладчик.
Нужно было разбираться в коде, которые писал не я и не было исходников. Имеешь
чёрный ящик. И думаешь. Медитируешь как оно внутри. Иногда (Oracle/PLSQL) тебе
не дают привелегий (grant debug) на сервере. Тоже приходися изворачиваться.
STDOUT там тоже нет. Выводишь в таблицы. Потом анализ. Иногда задача еще сложнее.
Перформанс. Тоже нет возможности профилятор включать. Нет привилегий. Создаю
систему кумулятивных счётчиков-переменных которые просто считают входы-выходы
в code-blocks. Потом анализ. Иногда это вообще единственный способ детектировать
факт оверхеда (функция в предложении WHERE....). И бох ее знает сколько раз
она должна дёрнуться. По логике - десяток раз. По факту (так оптимизатор решил)
- миллионы раз.

Вобщем дебаггер, ребята - это самые комфортные и тепличные условия. Пользуйтесь
дебаггером пока есть возможность. Пока не наступила война....
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как правильно привести тип в функции конвертации системы исчисления
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]