C语言二进制转换为十进制
时间: 2023-10-14 10:29:38 浏览: 178
C语言实现二进制转换十进制
4星 · 用户满意度95%
在C语言中,可以使用标准库函数`strtol()`将二进制字符串转换为十进制整数。该函数的原型如下:
```c
long int strtol(const char *str, char **endptr, int base);
```
其中,`str`是待转换的字符串,`endptr`是一个指向字符指针的指针,用于存储第一个未被转换的字符的指针(即指向结束符'\0'之后的位置),`base`表示转换的进制,通常为2、8、10或16。
以下是一个将二进制字符串转换为十进制整数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char bin_str[] = "10101010"; // 二进制字符串
char *endptr; // 未被转换的字符指针
long int dec_num;
dec_num = strtol(bin_str, &endptr, 2); // 将二进制字符串转换为十进制整数
printf("Binary: %s\n", bin_str);
printf("Decimal: %ld\n", dec_num);
return 0;
}
```
输出结果为:
```
Binary: 10101010
Decimal: 170
```
可以看到,二进制字符串"10101010"被转换为了十进制整数170。
阅读全文