进制转换

作者: 故梦_三笙 | 来源:发表于2019-04-30 09:12 被阅读4次

    啊,先说下今天的事情吧,今早早上正做梦呢,宋祖儿正扶着我回家呢,那个可恶的学长又又打呼噜把我吵醒了,才四点五十,我真的想一板砖呼死他,然后七点到了实习基地发现基地没电,电脑打不开,于是打了一个小时的游戏,,,难受的不行,八点半才来电,好在今天的题目不是很难。十进制转化为二进制

    回到正轨,这道题和昨天的题目很像,都是和进制转换有关的,确切的说,今天的思想用到了昨天的思想,就是昨天那个conversion函数,怎么都看不懂,看了一下大佬的代码果然还是这个函数,反正我也看不懂,就当做个公式记住好了,不是很难记,每天多看两遍就好了,我觉得昨天那个我应该也会做了,一会去看看,来上代码。

    #include <stdio.h>

    #include<string.h>

    /*int conversion(char s[],int d[],int x,int y)//x为原来的进制,y为要转化的进制

    {

        int len=strlen(s);

        int index=0;//数组下标

        for(int i=0;i<len;)

        {

            int rest=0;

            for(int j=i;j<len;j++)

            {

                int temp=rest*x+s[j]-'0';

                rest=temp%y;

                s[j]=temo/y+'0';

            }

            d[index++]=rest;

            while(s[i]-'0'==0) i++;

        }

    }*/

    int main()

    {

        char s[32];

        int d[2000];

        while(scanf("%s",s)!=EOF)

        {

            int len=strlen(s);

            int index=0;

            for(int i=0;i<len;)

            {

                int rest=0;

                for(int j=i;j<len;j++)

                {

                    int temp=rest*10+s[j]-'0';

                    rest=temp%2;

                    s[j]=temp/2+'0';

                }

                d[index++]=rest;

                while(s[i]-'0'==0) i++;

            }

                for(int i=index-1;i>=0;i--)

                {

                    printf("%d",d[i]);

                }

        }

        return 0;

    }

    但行好事,莫问前程,加油。另,

    强烈推荐这首歌,尤其是憨的声音,不知道什么感觉,好像是小孩子受了什么委屈快要哭的那种感觉。

    相关文章

      网友评论

        本文标题:进制转换

        本文链接:https://www.haomeiwen.com/subject/djfmnqtx.html