问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样用C语言将二进制数转换成十进制

发布网友 发布时间:2022-04-21 19:55

我来回答

5个回答

热心网友 时间:2022-06-18 21:50

将二进制转成十进制,按权值展开求和即可。

可以通过以下代码解决:

#include <stdio.h>

#include <stdlib.h>

int main()

{

char a[17];

gets(a);

int len,i,sum=0,m,j;

len=strlen(a);

if(len<=16)

{

for(i=0;i<len;i++)

{

m=1;

if(a[i]=='1')

{

for(j=1;j<=len-i-1;j++)

m*=2;

sum+=m;

}

}

printf("%d",sum);

}

return 0;

}

扩展资料

我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。

十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

八进制转二进制:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

负数的进制转换稍微有些不同。

先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。

例:要求把-9转换为八进制形式。则有:

-9的补码为1111 1111 1111 0111。从后往前三位一划,不足三位的加0

111---->7

110---->6

111---->7

111---->7

111---->7

001---->1

然后我们将结果按从下往上的顺序书写就是:177767,那么177767就是十进制数-9的八进制形式。

其实转化成任意进制都是一样的。

参考资料:

二进制——百度百科

十进制——百度百科

热心网友 时间:2022-06-18 21:50

将二进制转成十进制,按权值展开求和即可。
可以通过以下代码解决:
#include
#include
int
main()
{
char
a[17];
gets(a);
int
len,i,sum=0,m,j;
len=strlen(a);
if(len<=16)
{
for(i=0;i
扩展资料:
我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。
十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。
八进制转二进制:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。
十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。
负数的进制转换稍微有些不同。
先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。
例:要求把-9转换为八进制形式。则有:
-9的补码为1111
1111
1111
0111。从后往前三位一划,不足三位的加0
111---->7
110---->6
111---->7
111---->7
111---->7
001---->1
然后我们将结果按从下往上的顺序书写就是:177767,那么177767就是十进制数-9的八进制形式。
其实转化成任意进制都是一样的。
参考资料:
二进制——百度百科
十进制——百度百科

热心网友 时间:2022-06-18 21:51

二进制转十进制
从最后一位开始算,依次列为第0、1、2...位
第n位的数(0或1)乘以2的n次方
得到的结果相加就是答案
例如:01101011.转十进制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然后:1+2+0
+8+0+32+64+0=107.
二进制01101011=十进制107.

一、二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为"按权相加"法。

这是一个二进制转十进制的C语言函数例子,希望对你有帮助:

void two_ten()
{
long num;
int b,TheTen=0,Total=0;
printf("\n请输入一个二进制数(只包含0或1):");
scanf("%ld",&num);
while(num)
{
b=num-(int)(num/10)*10;
TheTen+=b*pow(2,Total);;
Total++;
num=(int)(num/10);
}
printf("转换为十进制:"); //打印
printf("%d",TheTen);
printf("\n");
}

热心网友 时间:2022-06-18 21:52

#include
#include
viod
main()
{
int
i,n,k=1,a[50];
//50个二进制位够大的吧
printf("enter
n:");
scanf("%d",&n);
if(n<=0)
exit(0);
//小于0的不要,等于0也没有必要了
a[0]=n%2;
do
{
n=n/2;
i=n%2;
a[k++]=i;
}while(n!=0);
for(i=49;a[i]==0;i--)
;
//找到二进制开始的地方,也就是最后一个余数在数组中的位置
for(;i>-1;i--)
printf("%d",a[i]);
}

热心网友 时间:2022-06-18 21:52

#include "stdafx.h"
int main()
{
int binary;
int temp;
int sum = 0;
int n = 1;
printf("Please input the binary number:");
scanf("%d",&binary);

for(;binary != 0;binary = binary/10)
{
temp = binary%10; //得到个位数、十位数、百位数.....
sum += temp * n;
n = n * 2;
}
printf("Decimalism is %d\n",sum);
return 0;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 企业培训学到了什么 培训感悟简短 有关培训的感悟 通过培训学到什么 培训你学到了什么 领导问培训学到什么怎么回复 二进制小数转化为十进制 把二进制数(10110.01)转换成十进制数 将二进制数1101转换为十进制数是多少 怎么将二进制数转化成10进制数 网上买汽车票为什么不成功 将二进制数转换为十进制数 汽车票在网上怎么订不了呀 在网上能买到汽车票吗?怎么买? 二进制数1101101如何转化成十进制数? 网上买不到汽车票,窗口可以买到吗?网上更新时间是... 如何将2进制数转换为10进制数 为啥网上买汽车票后面显示不可预定呢!是不是高速封... 如何将二进制数转换成十进制数 网上买汽车票锁票失败什么原因? 汽车票 不可预定 什么意思 为什么网上买汽车票只供查询不能购买 哈尔滨到省内的汽车票怎么不能网上买了? 为什么想在网上订后天的汽车票显示为不可订? 客车票票在网上买不到票了去窗口能买到吗 现在是不可以在网上买汽车票了吗? 二进制数转换成十进制整数是什么意思? 怎么把二进制数110.11转换成十进制? 梦见自己赤裸着身子蹲在地上洗头何解 孕妇梦见自己洗头,头上有个疤,一碰就有血。 用鸡胸肉做咖喱前,如果不添加嫩肉粉,如何处理才... 鸡胸怎么办 怎样可以治疗鸡胸 鸡胸怎么治?? 本人有鸡胸怎么办 小孩有鸡胸怎么办 ppt如何插入返回指定某一页按钮? 有鸡胸要怎么办、有没有好办法医 我的胸是鸡胸怎么办啊?怎么可以治好吗? 魔芋可以和酸甜鸡爪一起炒吗? 鸡胸该怎么办,我今年15,有点鸡胸,能不能通过锻... 怎样使PPT回到指定幻灯片 魔芋鸡爪怎么做 幻灯片怎么返回上一张 鸡胸怎么办? 魔芋烧鸭爪的做法,魔芋烧鸭爪怎么做好吃,魔芋