c语言进制转化的函数代码
时间: 2024-09-28 18:12:50 浏览: 32
c语言函数库-第四章(字符串函数)
在C语言中,处理十进制与其他进制间的转换通常使用`itoa()`或`atoi()`函数进行字符串解析,或者使用标准库函数如`strtol()`、`strtoul()`进行更精确的控制。以下是几个简单的例子:
- **整数转二进制**(使用`itoa()`的例子):
```c
#include <stdio.h>
#include <stdlib.h>
void int_to_binary(int num) {
char binary[64];
itoa(num, binary, 2); // 2代表二进制
printf("Binary representation: %s\n", binary);
}
int main() {
int decimal_num = 10;
int_to_binary(decimal_num);
return 0;
}
```
- **十六进制转字符串**(使用`sprintf()`或`snprintf()`):
```c
#include <stdio.h>
#include <string.h>
void hex_to_string(unsigned long value, char *result) {
sprintf(result, "%X", value); // %X代表十六进制
}
int main() {
unsigned long hexadecimal_num = 0x12345678UL;
char hex_str[10];
hex_to_string(hexadecimal_num, hex_str);
printf("Hexadecimal representation: %s\n", hex_str);
return 0;
}
```
请注意,上述`itoa()`函数在一些C标准库中并不总是可用,因为它不是强制性的。对于所有平台,建议使用`strtol()`或`itoa_r()`(如果有线程安全需求)。
阅读全文