c语言二进制转化为十进制代码
时间: 2023-12-26 07:27:56 浏览: 40
以下是一个C语言的二进制转换为十进制的代码示例:
```c
#include <stdio.h>
int binaryToDecimal(int binary) {
int decimal = 0, base = 1;
while (binary > 0) {
int lastDigit = binary % 10;
decimal += lastDigit * base;
binary /= 10;
base *= 2;
}
return decimal;
}
int main() {
int binary = 101010; // 二进制数
int decimal = binaryToDecimal(binary);
printf("Decimal: %d\n", decimal); // 输出:Decimal: 42
return 0;
}
```
这段代码将二进制数转换为十进制数。它使用了一个while循环,通过不断地取二进制数的最后一位,并将其乘以相应的权重,然后将二进制数除以10来去掉最后一位。最后,将所有的乘积相加得到十进制数。
相关问题
c语言二进制转化为十进制
C语言中,将二进制数转化为十进制数的方法是从二进制数的最低位开始,每一位乘以对应的位权(位权是2的幂次方),然后将每一位的结果相加即可得到十进制数。可以使用循环和取模运算来实现这个过程。下面是一个简单的C语言代码实例:
```
#include <stdio.h>
#include <math.h>
int main() {
int binary, decimal = 0, i = 0;
printf("请输入一个二进制数:");
scanf("%d", &binary);
while (binary != 0) {
decimal += (binary % 10) * pow(2, i);
binary /= 10;
i++;
}
printf("转换后的十进制数为:%d\n", decimal);
return 0;
}
```
在这个代码中,我们首先通过`scanf`函数获取用户输入的二进制数,然后使用`while`循环和取模运算将二进制数转化为十进制数。在每一次循环中,我们将二进制数的最低位乘以对应的位权(即2的幂次方),然后将结果累加到`decimal`变量中。最后,我们输出转换后的十进制数。
c语言十进制转化为二进制 具体代码
C语言中将十进制转化为二进制的方法是将该数字不断除以2直到商为零,然后将余数由下至上依次写出,即可得到该数字的二进制表示。以下是两个具体的代码实现:
引用代码实现:
```
#include <stdio.h>
int main(void) {
int n,length; //length用来装二进制数的个数
int a[20]; //定义一个数组来装余2得到的余数
scanf("%d",&n); //输入十进制的数字
while(n/2){ //当n=1时,n/2=0,此时while(0)不执行while中的语句,直接执行下面的语句
a[length++] = n%2; //将除2得到的余数装入数组中
n = n/2; //除二
}
a[length++] = n%2; //存储最后一个余数
//将余数从下往上输出
for(int i = length-1;i>=0;i--)
printf("%d",a[i]);
return 0;
}
```
引用代码实现:
```
#include <stdio.h>
void transfer(int x) {
char buf[32];
int i=0;
/*循环除2,把余数存储在数组中*/
while( (x/2)!=0 ) {
buf[i] = x%2;
x = x/2;
i++;
}
buf[i] = x%2;
/*循环遍历数组,从后往前打印余数*/
for(int j=i; j>=0 ;j--) {
printf("%d",buf[j]);
}
printf("\n");
}
int main(void) {
int x;
while(1) {
printf("请输入一个10进制数:");
scanf("%d",&x);
/*若输入的数小于0,退出循环,程序结束*/
if(x<0)
break;
printf("%d的二进制是:",x);
transfer(x);
printf("\n");
}
printf("退出程序\n");
return 0;
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)