- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
public static long ToNotation(int n, int notation)
{
var result = 0;
var values = new Stack<int>();
if (notation == n)
return n;
if (notation > n)
return 0;
while (n / notation > 0)
{
values.Push(n % notation);
n /= notation;
}
values.Push(n);
int offset = 1;
var Array = values.ToArray();
for (int i = Array.Length - 1; i >= 0; i--)
{
result += Array[i] * offset;
offset *= 10;
}
return result;
}
rotoeb 07.11.2020 12:56 # −2
techlead_seneor_228 07.11.2020 12:57 # −1
ISO 23.04.2022 17:03 # 0
guest6 23.04.2022 17:55 # 0
0x781F 03.02.2021 12:58 # 0
Если требуется хранить представление числа в другой системе счисления (в том числе десятичной) - используется string или на худой конец массив. А лучше всего написать класс обёртку, которое будет внутри себя хранить значение числа и его базу, и переопределить в этом классе метод ToString().
Во-вторых, работы со строковым представлением числа с базой отличающейся от 10 в C# есть методы Convert.ToInt64(text, base) и Convert.ToString(number, base)
Fike 03.02.2021 14:21 # 0
OCETuHCKuu_nemyx 03.02.2021 21:57 # 0
Fike 03.02.2021 22:40 # 0
OCETuHCKuu_nemyx 03.02.2021 23:11 # 0
techlead_seneor_228 14.02.2021 11:36 # 0
techlead_seneor_228 14.02.2021 11:35 # 0