十进制转化为二进制

作者: 故梦_三笙 | 来源:发表于2019-04-29 17:02 被阅读0次


    这道题主要是怎么存储1000位的大数,如果按照以前那样的话高精度整数,转化为二进制有点麻烦,所以我看了一下大佬的做法,果然我看不懂。。

    ```代码

    #include<iostream>

    #include<string>

    #define N 4000

    usingnamespacestd;

    intconversion(intd[],intdata[],intn,intx,inty){

        intsize=0;

        for(inti=0;i<n;){

            intk=0;

            for(intj=i;j<n;j++){

                intt=(d[j]+k*x)%y;

                d[j]=(d[j]+k*x)/y;

                k=t;

            }

            data[size++]=k;

            while(d[i]==0) i++;

        }

        returnsize;

    }

    intmain(){

        string s;

        intd[N],data[N];

        while(cin>>s){

            for(inti=0;i<s.length();i++)

                d[i]=s[i]-'0';

            intn=conversion(d,data,s.length(),10,2);

            intstart;

            for(start=0;data[start]==0;start++);

            for(inti=start;i<n;i++)

                data[i-start]=data[i];

            n=conversion(data,d,n-start,2,10);

            for(inti=n-1;i>=0;i--)

                cout<<d[i];

            cout<<endl;

        }

        return0

    conversion函数看不懂,留着以后看吧。这道题就先跳过。

    相关文章

      网友评论

        本文标题:十进制转化为二进制

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