C语言十进制字符串转二进制字符串代码示例
以下是将十进制字符串转换为二进制字符串的示例代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 将十进制字符串转换为二进制字符串
char *decToBin(char *decStr) {
int dec = atoi(decStr); // 将字符串转换为整数
char *binStr = (char *)malloc(33 * sizeof(char)); // 二进制字符串最长为32位,加上结束符'�'
int i = 31;
for (; i >= 0; i--) {
binStr[i] = (dec & 1) + '0'; // 取最低位的值并转换为字符
dec >>= 1; // 右移一位,相当于除以2
if (dec == 0) break; // 如果已经转换完毕,跳出循环
}
binStr[32 - i - 1] = '\0'; // 加上结束符
return binStr;
}
int main() {
char decStr[11]; // 十进制字符串最长为10位,加上结束符'�'
printf("请输入一个十进制字符串:");
scanf("%s", decStr);
char *binStr = decToBin(decStr);
printf("二进制字符串为:%s\n", binStr);
free(binStr); // 释放内存
return 0;
}
使用示例:
请输入一个十进制字符串:255
二进制字符串为:11111111
原文地址: https://www.cveoy.top/t/topic/nKr9 著作权归作者所有。请勿转载和采集!