Как я могу представить десятичное отрицательное число в восьмеричном без использования метода Convert.To()
?
public static string GetOctal(int number)
{
int base = 8;
}
Так, например:
-3 (по основанию 10) = 37777777775 (по основанию 8)
Но какой алгоритм я должен использовать, чтобы получить этот результат?
Тестовые примеры для моей задачи:
[TestCase(-3, 8, ExpectedResult = "37777777775")]
[TestCase(-127, 8, ExpectedResult = "37777777601")]
[TestCase(-675432, 8, ExpectedResult = "37775330630")]
[TestCase(-1908345, 8, ExpectedResult = "37770560607")]
[TestCase(int.MinValue, 8, ExpectedResult = "20000000000")]
[TestCase(-3, 16, ExpectedResult = "FFFFFFFD")]
[TestCase(-127, 16, ExpectedResult = "FFFFFF81")]
[TestCase(-675432, 16, ExpectedResult = "FFF5B198")]
[TestCase(-1908345, 16, ExpectedResult = "FFE2E187")]
[TestCase(int.MinValue, 16, ExpectedResult = "80000000")]
[TestCase(1908345, 10, ExpectedResult = "1908345")]
[TestCase(int.MaxValue, 10, ExpectedResult = "2147483647")]
public string GetRadix_Tests(int number, int radix) => number.GetRadix(radix);