C语言十进制到八进制转换
时间: 2024-10-21 22:08:58 浏览: 30
在C语言中,将十进制数转换成八进制可以使用内置函数`octave()`或者手动通过循环操作实现。以下是两种常见方法:
1. **使用内置函数**:
```c
#include <stdio.h>
int main() {
int decimal = 100; // 要转换的十进制数
char octal[10]; // 存储八进制结果的空间
sprintf(octal, "%o", decimal); // 使用sprintf格式化字符串,%o表示八进制
printf("十进制 %d 转换为八进制是 %s\n", decimal, octal);
return 0;
}
```
2. **手动实现(位运算法)**:
```c
#include <stdio.h>
void decToOct(int decimal) {
int i = 0;
while (decimal > 0) {
oct[i++] = decimal % 8 + '0'; // 取余数并转换为字符
decimal /= 8; // 整除
}
// 输出倒序的八进制数
for (; i > 0; i--) {
printf("%d", oct[i - 1]);
}
printf("\n");
}
int main() {
int decimal = 100;
decToOct(decimal);
return 0;
}
```
阅读全文