编程-十进制整数转换为二进制

 

代码
/*
2. 数制转换
问题描述: 
在32位处理器上,将任一整数转换为二进制形式。
要求实现函数: 
void DecToBin (unsigned int iDec, char pBin[32])
输入:iDec 需要转换的十进制整数
输出:pBin 转换为二进制后的字符串,高位在左边,不足32位补0
示例 
输入:123  输出:{“00000000000000000000000001111011”}
*/
#include
< stdio.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
-- ;    
    }
}
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);
}

 

你可能感兴趣的:(二进制)