C语言 如何把一个ASCII码转换为二进制输出?

2024-11-16 00:40:21
推荐回答(3个)
回答(1):

代码如下:
#include
void bn(int i)
{ int k,j;
k=i/2;
j=i%2;
if(k!=0) binary(k);//采用递归处理,直到为0时,然后递归
printf("%d",j);
}

int main() {
char a;
scanf("%c", &a);
bn(a);
return 0;

}
拓展延伸:
什么是ASCII码:
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
请注意,ASCII是American Standard Code for Information Interchange缩写,而不是ASC2,有很多人在这个地方产生误解

回答(2):

#include 

void fun(char a, int* array) {
int i = 0;
for (i = 0; i < 8; i++) {
array[7 - i] = a % 2;
a /= 2;
}
}

int main() {
char a;
int array[8], i;
scanf("%c", &a);
fun(a, array);
for (i = 0; i < 8; i++) {
printf("%2d", array[i]);
}
}

回答(3):

void convert(char ascii, char buf[8])
{
    int i;

    for(i = 0; i < 8; i++) {
        if(ascii & 0x80)
            buf[i] = '1';
        else
            buf[i] = '0';

        ascii <<= 1;     
    }   
}