自己写的十进制转二进制

如下

// pb15_3.27.4.1.cpp : 定义控制台应用程序的入口点。
//Author:dalerkd
//201532717:48:43
//目的:将一个int型数字转换为二进制输出
//过程:将数字压进位段biteight结构.然后按位读出
//3if也是醉了
#include "stdafx.h"


 typedef struct biteight
{
    unsigned aa:1;
    unsigned ab:1;
    unsigned ac:1;
    unsigned ad:1;
    unsigned ae:1;
    unsigned af:1;
    unsigned ag:1;
    unsigned ah:1;

    unsigned ba:1;
    unsigned bb:1;
    unsigned bc:1;
    unsigned bd:1;
    unsigned be:1;
    unsigned bf:1;
    unsigned bg:1;
    unsigned bh:1;

    unsigned ca:1;
    unsigned cb:1;
    unsigned cc:1;
    unsigned cd:1;
    unsigned ce:1;
    unsigned cf:1;
    unsigned cg:1;
    unsigned ch:1;

    unsigned da:1;
    unsigned db:1;
    unsigned dc:1;
    unsigned dd:1;
    unsigned de:1;
    unsigned df:1;
    unsigned dg:1;
    unsigned dh:1;

}str;


int _tmain(int argc, _TCHAR* argv[])
{
    unsigned int iA=0;
    int iSuma=0;
    int iSumb=0;
    int iSumc=0;
    int iSumd=0;

unsigned int* pA=&iA;
    str* geili;

    scanf_s("%d",&iA);

    geili=(str*)&iA;

    biteight jiayou=*geili;

    iSuma=
         jiayou.aa*1
        +jiayou.ab*10
        +jiayou.ac*100
        +jiayou.ad*1000
        +jiayou.ae*10000
        +jiayou.af*100000
        +jiayou.ag*1000000
        +jiayou.ah*10000000
        ;

    iSumb=
         jiayou.ba*1
        +jiayou.bb*10
        +jiayou.bc*100
        +jiayou.bd*1000
        +jiayou.be*10000
        +jiayou.bf*100000
        +jiayou.bg*1000000
        +jiayou.bh*10000000
        ;

    iSumc=
         jiayou.ca*1
        +jiayou.cb*10
        +jiayou.cc*100
        +jiayou.cd*1000
        +jiayou.ce*10000
        +jiayou.cf*100000
        +jiayou.cg*1000000
        +jiayou.ch*10000000
        ;

    iSumd=
         jiayou.da*1
        +jiayou.db*10
        +jiayou.dc*100
        +jiayou.de*1000
        +jiayou.df*10000
        +jiayou.dg*100000
        +jiayou.dh*1000000
        ;

    if(iSumd==0)
    {
        if(iSumc==0)
        {
            if(iSumb==0)
            {
                printf_s("%d",iSuma);

            }
            else
            {
                printf_s("%d%d",iSumb,iSuma);
            }
        }
        else
        {
            printf_s("%d%d%d",iSumc,iSumb,iSuma);
        }
    }
    else
    {
        printf_s("%d%d%d%d",iSumd,iSumc,iSumb,iSuma);
    }

    return 0;
}

    原文作者:进制转换
    原文地址: https://blog.csdn.net/dalerkd/article/details/44706367
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞