如下
// pb15_3.27.4.1.cpp : 定义控制台应用程序的入口点。
//Author:dalerkd
//2015年3月27日 17:48:43
//目的:将一个int型数字转换为二进制输出
//过程:将数字压进位段biteight结构.然后按位读出
//3层if也是醉了
#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;
}