数制转换
问题描述:
在32位处理器上,将任一整数转换为二进制形式。
要求实现函数:
void DecToBin (unsigned int iDec, char pBin[32])
输入:iDec 需要转换的十进制整数
输出:pBin 转换为二进制后的字符串,高位在左边,不足32位补0
示例
输入:123 输出:{“00000000000000000000000001111011”}
*/
#include
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--;
}
}
main()
{
unsigned int a=0xFFFFFFFF;
char pBin[33];
for(int i=0;i<33;i++)
{
pBin[i]='\0';
}
DecToBin (a, pBin);
printf("%s\n",pBin);
}
编辑特别推荐: