返回列表 回复 发帖

3.2.8有问题请教 把整数转换为二进制数

static string ConvertIntToBinary(int n)
        {
            string binary = string.Empty;
            int i = n;
            int m = 0;
            while (i > 1)
            {
                i = n / 2;
                m = n % 2;
                binary = m.ToString() + binary;
                n = i;
            }
            if (i > 0) binary = "1" + binary;
            return binary;
        }


可以请老师举个数字的例子具体说明呢?麻烦了,我看了半天没看懂
那我举一个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
谢谢老师回答我的问题,因为是自己一个人学很吃力,有了老师的帮助真是收获不少,谢谢!
返回列表