c语言16进制转换成10进制代码
时间: 2023-08-05 18:07:47 浏览: 108
以下是 C 语言的代码示例,将一个 16 进制的字符串转换为 10 进制的整数:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char* hex_str = "1a";
int dec_num = strtol(hex_str, NULL, 16);
printf("%d\n", dec_num); // 输出 26
return 0;
}
```
其中,`strtol()` 函数的第二个参数为 `NULL`,表示不需要返回转换后的字符串。第三个参数为 16,表示输入字符串是 16 进制的。函数返回一个长整数,即转换后的 10 进制数。我们将其转换为整型并输出。
相关问题
C语言16进制转换成10进制代码
以下是 C 语言的代码示例,将一个 16 进制的字符串转换为 10 进制的整数:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char* hex_str = "1a";
int dec_num = strtol(hex_str, NULL, 16);
printf("%d\n", dec_num); // 输出 26
return 0;
}
```
其中,`strtol()` 函数的第二个参数为 `NULL`,表示不需要返回转换后的字符串。第三个参数为 16,表示输入字符串是 16 进制的。函数返回一个长整数,即转换后的 10 进制数。我们将其转换为整型并输出。
C语言16进制转换成2进制
可以使用以下步骤将C语言中的16进制数转换为2进制数:
1. 将16进制数转换为对应的10进制数。
2. 将10进制数转换为2进制数。
以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int hex = 0x1A; // 16进制数
int decimal = 0; // 10进制数
int binary[8] = {0}; // 存储2进制数,数组长度为8是因为int类型最多有32位
// 将16进制数转换为10进制数
int base = 1;
while (hex > 0) {
decimal += (hex % 10) * base;
hex /= 10;
base *= 16;
}
// 将10进制数转换为2进制数
int i = 0;
while (decimal > 0) {
binary[i] = decimal % 2;
decimal /= 2;
i++;
}
// 输出2进制数
printf("2进制数为:");
for (int j = i - 1; j >= 0; j--) {
printf("%d", binary[j]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
2进制数为:11010
```
阅读全文