#include "stdio.h"
#include "math.h"
#include "memory.h"
#define _32BIT 32
int to_binary(int n,char *bit)
{
int len=_32BIT-1;
if (n<0)
{
int CF=1;
int tmp=0;
memset(bit,'1',sizeof(int)*_32BIT);
while (n&&len>=0)
{
tmp=abs(~(n%2))+CF;
bit[len--]='0'+tmp%2;
CF=tmp/2;
n/=2;
}
}
else
{
memset(bit,'0',sizeof(int)*_32BIT);
while (n&&len>=0)
{
bit[len--]='0'+n%2;
n/=2;
}
}
return 0;
}
int main()
{
char a[_32BIT];
a[0]=0x00;
to_binary(2147483648,a);
for (int i=0;i<_32BIT;++i)
{
printf("%c",a[i]);
}
printf("\n");
return 0;
}
十进制转二进制
最新推荐文章于 2022-07-11 17:00:51 发布