charconst * Bin(int n)
//返回二进制数的字符串表示,返回值存放在静态存储区中,不能修改
//本函数在多线程情况下是非线程安全的
{
staticchar szBin[sizeof(int)*8+1];
szBin[sizeof(int)]=0;
char*p=&szBin[sizeof(int)-1];
char *pBin=p;
*p='0';
while (n)
{
*p=(n&1)+'0';
if (*p=='1')
pBin=p;
--p;
n>>=1;
}
return pBin;
}
本文介绍了一个用于将整数转换为二进制字符串表示的C语言函数。该函数利用静态存储区来存放结果,并从最高有效位开始构建字符串。需要注意的是,在多线程环境下使用此函数可能会导致数据不一致。
1798

被折叠的 条评论
为什么被折叠?



