private string 十进制转N进制(int Value,int Ary)
{
string result = "";
if(Value< Ary)
{
result += Value.ToString();
return result;
}
int temp = Value;
int Count = 1;
while(temp> Ary)
{
temp /= Ary;
Count++;
}
int[] sum = new int[Count];
int index = Count-1;
do
{
sum[index] = Value % Ary;
Value /= Ary;
index--;
}
while (Value >= Ary);
sum[index] = Value;
for (int i = 0; i < sum.Length; i++)
{
result += sum[i].ToString();
}
return result;
}
代码看起来很长 其实很简单的逻辑 就是进行求余运算。
result 是用来保存结果的。
上面截图的句代码的作用是判断值<进制个位数的情况。就不用执行下列代码直接返回Value就可以。
这句代码是计算Value的位数,通过位数计算 保存位数数组的长度。
申请一个数组保存每位的位数。 如果代码执行到这里说明Value比Ary大。
通过求余数运算计算转成Ary进制的值。