Оптимизация работы класса - C# (180797)
Формулировка задачи:
Написал класс который оперирует с числами в разных СС.
Укажите на недостатки, на то что можно сделать получше, что можно добавить.
Код:
class sInt { ulong[] number; ulong ss; public void setNumber(ulong[] n, ulong ss) { bool isTrueNumber = true; int i; for (i = 0; i < n.GetLength(0); i++)//проверка, есть ли в числе цифры превосходящие основание сс { if (n[i] >= ss) { isTrueNumber = false; break; } } if (isTrueNumber) { number = n; this.ss = ss; } } public void translate(ulong nss) { if (ss != 10) { ulong nn = 0; int dims = number.GetLength(0); for (int i = 0; i < dims; i++)//переводим в 10-ю систему счисления { nn += number[i] * (ulong)Math.Pow(ss, (dims - i - 1)); } number = new ulong[1]; number[0] = nn; bool tn; int sch = 0; while (true) { if (number[sch] >= nss) { Array.Resize(ref number, sch + 2); while (number[sch] >= nss) { number[sch] -= nss; number[sch + 1]++; } sch++; } else break; } Array.Reverse(number); } } public string print() { string o = ""; for (int i = 0; i < number.GetLength(0); i++) o += number[i].ToString()+'.'; return o; } }
Решение задачи: «Оптимизация работы класса»
textual
Листинг программы
public ulong[] getNumber() { return tNumber; } public ulong getNotation() { return tNotation; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д