将一个三进制数转换成10进制c语言代码
时间: 2024-05-03 21:18:33 浏览: 86
下面是一个将三进制数转换成十进制的 C 语言代码:
```c
#include <stdio.h>
int main() {
int n, rem, i = 0, decimal = 0;
printf("Enter a three-digit binary number: ");
scanf("%d", &n);
while (n != 0) {
rem = n % 10;
decimal += rem * pow(3, i);
++i;
n /= 10;
}
printf("Decimal number is: %d", decimal);
return 0;
}
```
在这个程序中,我们首先从用户那里获取一个三进制数。在 while 循环中,我们通过取余和除法操作来将数字的每一位分离出来,并将其乘以相应的权重(即 3 的幂),并将其加入十进制数中。最后,我们将十进制数打印到屏幕上。
相关问题
十进制数转换为十六进制数c语言代码
以下是将十进制数转换为十六进制数的C语言代码:
```c
#include <stdio.h>
int main() {
int decimal = 1234;
char hex[10];
// 将十进制数转换为十六进制字符串
sprintf(hex, "%X", decimal);
printf("%d in decimal is %s in hexadecimal.", decimal, hex);
return 0;
}
```
输出结果为:
```
1234 in decimal is 4D2 in hexadecimal.
```
其中,`sprintf`函数将整数部分转换为十六进制字符串,并存储在`hex`数组中。可以根据需要自行修改输入的十进制数。
带小数的二进制数转换为八进制数c语言
以下是将带小数的二进制数转换为八进制数的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;
}
```
以上代码首先获取了待转换二进制数的整数部分和小数部分,然后分别将它们转换为八进制数,最后将它们相加得到最终的八进制数。
阅读全文