带小数的二进制数通过每三位转换为一位八进制数的c语言代码
时间: 2024-03-18 09:39:45 浏览: 51
以下是将带小数的二进制数转换为八进制数的C语言代码:
```c
#include <stdio.h>
int main() {
double binaryNum = 1011.01101; // 待转换的二进制数
int integerPart = (int)binaryNum; // 获取整数部分
double decimalPart = binaryNum - integerPart; // 获取小数部分
// 将整数部分转换为八进制数
int octalNum = 0, i = 1;
while (integerPart != 0) {
octalNum += (integerPart % 8) * i;
integerPart /= 8;
i *= 10;
}
// 将小数部分转换为八进制数
double temp = 0.1;
while (decimalPart > 0) {
octalNum += (int)(decimalPart * 8) * temp;
decimalPart = decimalPart * 8 - (int)(decimalPart * 8);
temp *= 0.1;
}
printf("转换后的八进制数为:%d", octalNum);
return 0;
}
```
以上代码首先获取了待转换二进制数的整数部分和小数部分,然后分别将它们转换为八进制数,最后将它们相加得到最终的八进制数。
阅读全文