用c语言写一个将明文转换为二进制的代码
时间: 2023-05-16 14:05:06 浏览: 67
以下是将明文转换为二进制的C语言代码:
#include <stdio.h>
#include <string.h>
void stringToBinary(char* s) {
int len = strlen(s);
for (int i = 0; i < len; i++) {
for (int j = 7; j >= 0; j--) {
printf("%d", ((s[i] >> j) & 1));
}
printf(" ");
}
}
int main() {
char str[100];
printf("请输入明文:");
scanf("%s", str);
printf("二进制编码为:");
stringToBinary(str);
return 0;
}
相关问题
请用c语言写一个十进制转换为二进制的程序
```
#include <stdio.h>
int main() {
int decimal, binary[32]; // 最多32位二进制数
int i = 0, j;
printf("请输入一个十进制数:");
scanf("%d", &decimal);
// 将十进制数转换为二进制数
while (decimal != 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
// 输出二进制数
printf("转换为二进制数为:");
for (j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
return 0;
}
```
用c语言用栈写一个将十进制转换为二进制
好的,这里是用栈实现将十进制转换为二进制的C语言代码,主要是利用栈后进先出的特点,将余数一一入栈,最后出栈输出即可。
```c
#include <stdio.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
// 入栈
void push(int num) {
top++;
stack[top] = num;
}
// 出栈
int pop() {
int num = stack[top];
top--;
return num;
}
// 判断栈是否为空
int is_empty() {
return top == -1;
}
int main() {
int num;
printf("请输入一个十进制数:");
scanf("%d", &num);
// 将余数入栈
while (num) {
push(num % 2);
num /= 2;
}
// 出栈并输出
printf("转换为二进制为:");
while (!is_empty()) {
printf("%d", pop());
}
return 0;
}
```
运行结果:
```
请输入一个十进制数:10
转换为二进制为:1010
```