プログラミング10進数整数をバイナリに変換
1017 ワード
32ビットプロセッサで、いずれかの整数をバイナリ形式に変換します.
要求実装関数:
void DecToBin (unsigned int iDec, char pBin[32])
入力:iDec変換が必要な10進数整数
出力:pBinはバイナリ後の文字列に変換され、上位は左で、32ビット未満は0を補う
例
入力:123出力:{"00000000000000000000001111011"}
また簡単な実現
要求実装関数:
void DecToBin (unsigned int iDec, char pBin[32])
入力:iDec変換が必要な10進数整数
出力:pBinはバイナリ後の文字列に変換され、上位は左で、32ビット未満は0を補う
例
入力:123出力:{"00000000000000000000001111011"}
#include "stdafx.h"
#include <stdlib.h>
void DecToBin (unsigned int iDec, char pBin[32])
{
unsigned int temp;
int i=31;
while(i>=0)
{
temp=iDec;
temp=temp>>i;
temp=temp&1;
pBin[32-1-i]=temp+'0';
i--;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
//unsigned int a=0xFFFFFFFF;
unsigned int a=0x12;
char pBin[33];
for(int i=0;i<33;i++)
{
pBin[i]='\0';
}
DecToBin (a, pBin);
printf("%s
",pBin);
system("pause");
return 0;
}
また簡単な実現
, 。
#include <stdio.h>
int main()
{
int x,i;
scanf("%d",&x);
for(i=31;i>=0;i--) printf("%d",x>>i&1);
system("pause");
}