那我举一个n=4 的吧。
第一次循环
while (i > 1) i=4>1,进入循环
{
i = n / 2; i=4/2=2
m = n % 2; m=4%2=0
binary = m.ToString() + binary; binary="0"+""="0"
n = i; n=2
}
第二次循环:
while (i > 1) i=2>1,进入循环
{
i = n / 2; i=2/2=1
m = n % 2; m=2%2=0
binary = m.ToString() + binary; binary="0"+"0"="00"
n = i; n=1
}
第三次循环:
while (i > 1) i=1=1,不符合条件,不进入循环
{
i = n / 2;
m = n % 2;
binary = m.ToString() + binary;
n = i;
}
if (i > 0) binary = "1" + binary; 由于i=1>0 则binary=“1”+"00"="100"
return binary; 返回binary的值 100 |