c - 如何在 C 中将这些 ASCII 值转换为二进制

标签 c

我正在尝试将每个字母的 ASCII 值转换为二进制,但我不确定如何获取十进制值并转换它们。下面的代码打印出一个单词,其 ASCII 值位于右侧

#include <stdio.h>
#include <string.h>


int main (void) {

   char c[20];
   printf("Enter a word: ");
   scanf("%s",&c);

   int i;
   char *str = c;
   int length = strlen(str);

   for (i = 0; i < length; i++) {
      printf("%c = %d \n", str[i] , str[i]);
   }
   return 0;
}

示例输出:

Enter a word: Program
P = 80
r = 114
o = 111
g = 103
r = 114
a = 97
m = 109

最佳答案

试试这个...用于二进制打印的 Pgm..

#include <stdio.h> 
#include <string.h>


int main (void) {

char c[20];
printf("Enter a word: ");
scanf("%s",c);//here no need &
    int j;
int i;
char *str = c;
int length = strlen(str);

for (i = 0; i < length; i++)
 {


   for(j=7;j>=0;j--)//for binary print; for char j=7, for int j=31
    {
    if((str[i]>>j&1)==1)
    printf("1");
    else
    printf("0");
    }


  printf("\n%c = %d \n", str[i] , str[i]);
}
return 0;
}

关于c - 如何在 C 中将这些 ASCII 值转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26092502/

相关文章:

c - 省略函数声明

c - 如何从终端分离程序并将其附加回去?

c - 如何在C中打印用户输入的数字的位数?

c - 内存泄漏和指针

c - free() 是否删除存储在动态分配内存中的数据?

c - 通过比较两个 char 数组返回整数

python - 使用 SWIG 在 C 中操作 Numpy 数组

c - 使用链表实现队列时出现未知编码错误

c - C 条件语句中的意外输出

c - 如何解决vfmadd213ps的 "illegal instruction"?