c语言十进制数转8进制
时间: 2024-09-24 13:30:10 浏览: 34
C语言十进制转二进制代码实例
5星 · 资源好评率100%
在C语言中,你可以使用内置的库函数`itoa()`或者手动编写转换函数来将十进制数转换成八进制。以下是使用`itoa()`的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void dec_to_oct(int decimal_num) {
char octal[100];
int octal_size = itoa(decimal_num, octal, 8); // 使用8作为基数
if (octal_size > 0)
printf("八进制形式: %s\n", octal);
else
printf("转换失败!\n");
}
int main() {
int decimal = 1234;
dec_to_oct(decimal);
return 0;
}
```
如果你想要手动实现,可以使用循环和除法操作,例如:
```c
#include <stdio.h>
void dec_to_oct(int decimal) {
char octal[20]; // 预计最大八进制位数为3(111)
int i = 0;
while (decimal != 0) {
octal[i++] = '0' + decimal % 8; // 余数加上'0'得到字符
decimal /= 8;
}
if (i == 0) {
printf("八进制形式: 0\n"); // 防止空字符串
} else {
octal[i - 1] = '\0'; // 添加终止符
printf("八进制形式: %s\n", octal);
}
}
int main() {
int decimal = 1234;
dec_to_oct(decimal);
return 0;
}
```
阅读全文