Как для PR-менеджера (www.linkedin.com/...in/irina-linnik-35970554), то вы сделали Интетикс медвежью услугу. Ну а как копирайтер написали еще и тяжелый текст. Так вы слона не продадите :)
Я озвучил только то, что успешно выполнил тестовое задание, оффер я не получил
Или в певцы :)))
Для случая с написанной самостоятельно длинной арифметикой возможности распараллеливания тоже есть, так что у вас большой простор для фантазии (для практического применения будет достаточно реализовать алгоритм Карацубы или Тума-Кука или вообще школьный алгоритм умножения в столбик).
Если же требуется генерация больших (псевдо) простых чисел, то это совсем другая история. Могу посоветовать почитать Handbook of Applied Cryptography www.cacr.math.uwaterloo.ca/...about/chap4.pdf или Лекции по арифметическим алгоритмам в криптографии, Черемушкин А.В.
gif0, посмотрите все подробности например в MSDN. Если коротко, то у строки переопределены только операции == и! =. Конкатенация с помощью + это опять тот самый пресловутый syntactic sugar. В результате компилятор заменяет эту операцию на вызов
call string [mscorlib]System.String::Concat(string, string)
Почему все так… Строки используются очень часто и поэтому вполне понятно, почему CLR с ними обращается не так, как с другими объектами — так более эффективно. По крайней мере мне хочется верить, что JIT-компилятор генерирует оптимальный машинный код для всех чисто строчных команд:) ЗЫ. Троелсен — это хорошо, но ваши вопросы не всегда освещаются даже в более сложных книгах типа Рихтера, так что лучше всего будет все детали увидеть в IL-коде самому. ildasm и Reflector смогут вам в этом помочь:)
Да, для строки никакие перегрузки не используются. Для того кода, который я привел, в
call class StringImplicitConversion.MyClass StringImplicitConversion.MyClass::op_Implicit(string)
ЗЫ. StringImplicitConversion — это пространство имен
2Tim: Можно генерировать любые команды с помощью классов из пространства имен Reflection.Emit, вопрос только зачем:)
3. Если есть необходимость писать что-то вроде такого:
MyClass mc = "Hello, World!";
то вам нужно определить неявное преобразование. Например, вот так:
public class MyClass
{
private readonly string _strVal;
public MyClass(string val)
{
_strVal = val;
}
public static implicit operator MyClass(string str)
{
return new MyClass(str);
}
public override string ToString()
{
return _strVal;
}
}
SELECT * FROM Table WHERE id IN (SELECT MAX (id) FROM Table GROUP BY student_id)
Обіцяють Comirnaty для колективів moz.gov.ua/...-organizovanih-kolektiviv