C语言轻松搞定二进制转换,小白也能快速上手!
c
include
include
// 函数声明
void binary_to_decimal(int n);
void decimal_to_binary(int n);
int main() {
int num;
char bin_str[100];
printf("请输入一个整数: ");
scanf("%d", &num);
// 将十进制数转换为二进制字符串
sprintf(bin_str, "%d", num);
printf("十进制 %d 的二进制表示为: %s", num, bin_str);
// 将二进制字符串转换为十进制数
printf("请输入一个二进制字符串(例如: 1010): ");
scanf("%s", bin_str);
int dec_num = binary_to_decimal(atoi(bin_str));
printf("二进制 %s 对应的十进制数为: %d", bin_str, dec_num);
return 0;
}
// 将十进制数转换为二进制
void binary_to_decimal(int n) {
int i, remainder, binary[32];
for (i = 8; i >= 0; i--) {
remainder = n % 2;
binary[i] = remainder + '0';
n /= 2;
}
for (i = 0; i < 32; i++) {
if (binary[i] != '\0') {
printf("%c", binary[i]);
}
}
printf("");
}
// 将二进制字符串转换为十进制数
void decimal_to_binary(int n) {
int i, j, temp, remainder;
for (i = 0; i < 4; i++) {
temp = n;
remainder = temp % 2;
n = n / 2;
if (remainder == 0) {
printf("%c", remainder);
break;
} else {
printf("%c", remainder + '0');
}
}
printf("");
}
这个程序首先定义了两个函数`binary_to_decimal`和`decimal_to_binary`,分别用于将十进制数转换为二进制数和从二进制数转换回十进制数。在`main`函数中,我们让用户输入一个整数,然后调用这两个函数进行转换,并打印结果。
- `binary_to_decimal`函数使用了一个循环来处理每一位数字,并将它们转换为相应的字符。
- `decimal_to_binary`函数也是使用一个循环来处理每一位数字,但这次是从右到左处理,即最高位在最左边。
这个程序是一个简单的示例,但它展示了如何在C语言中进行二进制和十进制的转换。对于更复杂的需求,你可能需要使用更专业的库或工具。

