用C语言实现二进制与十进制之间的相互转换
时间: 2023-05-23 16:03:50 浏览: 99
可以使用atoi()函数将二进制字符串转换为十进制整数,也可以使用itoa()函数将十进制整数转换为二进制字符串。以下是一个用C语言实现二进制与十进制相互转换的示例程序:
#include <stdio.h>
long int bin_to_dec(long int bin) { // 将二进制转换为十进制
long int dec = 0, base = 1;
while (bin > 0) {
if (bin % 10 == 1) dec += base;
bin /= 10;
base *= 2;
}
return dec;
}
long int dec_to_bin(long int dec) { // 将十进制转换为二进制
long int bin = 0, base = 1;
while (dec > 0) {
bin += (dec % 2) * base;
dec /= 2;
base *= 10;
}
return bin;
}
int main() {
long int bin = 10101; // 二进制
long int dec = 25; // 十进制
printf("二进制 %ld 转换为十进制是 %ld\n", bin, bin_to_dec(bin));
printf("十进制 %ld 转换为二进制是 %ld\n", dec, dec_to_bin(dec));
return 0;
}