主题:[求助]如何获得一个字符的二进制字符
yx3515
[专家分:60] 发布于 2006-11-21 17:41:00
如: 一个字符 '1', 其ASCII码是 0x31, 如何输出其二进制字符"00110001"?
越想越晕,各位大侠,帮帮忙~[em10]
回复列表 (共2个回复)
沙发
liuzyn [专家分:560] 发布于 2006-11-21 20:58:00
写一个函数来输出了。
比如:
void ascii2binary(char ch)
{
unsigned char mask;
for(mask = 0x80; mask > 0; mask >>= 1)
{
if(ch & mask)
{
printf("1");
}
else
{
printf("0");
}
}
}
板凳
freeeerf [专家分:5440] 发布于 2006-11-21 22:34:00
去看看位运算的相关知识就知道了,楼上的程序很好.不过把
[quote]
for(mask = 0x80; mask > 0; mask >>= 1)
{
if(ch & mask)
{
printf("1");
}
else
{
printf("0");
}
}
[/quote]
改为:
for(mask = 0x80; mask > 0; mask >>= 1)
printf("%c",mask&ch?'1':'0');
就更好了哈.
我来回复