Здравствуйте KMiNT21, Вы писали:
KMNT>Может хватит и такой функции:
Если ее оптимизировать по скорости и кол-ву вызовов раз в 100 — хватит. А так — точно нет. Одно могу сказать — ни одно собеседование с таких кодом не пройти.
Печально.
Алексей Кирдин
Re[3]: Как с помощью winapi перевести из строки в целое?
Здравствуйте Kaa, Вы писали:
KMNT>>Может хватит и такой функции:
Kaa>Если ее оптимизировать по скорости и кол-ву вызовов раз в 100 — хватит. А так — точно нет. Одно могу сказать — ни одно собеседование с таких кодом не пройти.
Думаю, это шутка, причём похлеще чем у IV
А вообще можно объявить конкурс на самый тупой/медленный/через-одно-место алгоритм преобразования строки в число, причём дополнительные сложности типа знаковость можно даже и убрать, главное, чтобы он работал
Так круто как у KMiNT21 у меня конечно не вышло, но кое-что получилось
#include"stdafx.h"#include <iostream>
int my_a_to_my_i(const char *s);
int my_strlen(const char *s)
{
if (!s)
return my_a_to_my_i("0");
int len = my_a_to_my_i("0");
while (*s != my_a_to_my_i("0")) {
len += my_a_to_my_i("1");;
s += my_a_to_my_i("1");
}
return len;
}
int my_a_to_my_i(const char *s)
{
if (!s)
return my_a_to_my_i("0");
if (s == "0")
return s[0] - '0';
if (s == "1")
return *s - '0';
if (!my_strlen(s))
my_a_to_my_i("0");
if (my_strlen(s) == 1)
return - '0' + *s;
int res = 0;
char two[2] = "0";
for (
int i = my_a_to_my_i("0");
i < my_strlen(s);
i += my_a_to_my_i("1")
)
{
*two = s[i];
res <<= my_a_to_my_i("1");
res *= my_a_to_my_i("5");
res += my_a_to_my_i(two);
}
return res;
}
void main()
{
std::cout
<< my_a_to_my_i("123456")
<< std::endl;
}
Если нам не помогут, то мы тоже никого не пощадим.
Re[4]: Как с помощью winapi перевести из строки в целое?
Здравствуйте retalik, Вы писали:
IT>>Так круто как у KMiNT21 у меня конечно не вышло, но кое-что получилось
R>Эх, хотел тебе за эту крутизну оценку поставить, но твой пример выдает пустую строку
Не может быть, у тебя что-то с параметрами компиляции, мой пример на них круто завязан
Как у тебя создаются строковые константы?
Если нам не помогут, то мы тоже никого не пощадим.
Re[6]: Как с помощью winapi перевести из строки в целое?
Здравствуйте IT, Вы писали:
IT>Здравствуйте retalik, Вы писали:
IT>>>Так круто как у KMiNT21 у меня конечно не вышло, но кое-что получилось
R>>Эх, хотел тебе за эту крутизну оценку поставить, но твой пример выдает пустую строку
IT>Не может быть, у тебя что-то с параметрами компиляции, мой пример на них круто завязан IT>Как у тебя создаются строковые константы?
Скопировал весь текст в буфер, вставил в файл, удалил #include "stdafx.h" и вызвал
cl /MD test.cpp
Результат выполнения — пустая строка.
cl /ML test.cpp
То же самое.
Успехов,
Виталий.
Re: Как с помощью winapi перевести из строки в целое?