C语言 如何将一个8位二进制的数转换为十进制数?

如题所述

我就懒得敲了,转一个网友的回答:
从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。
2(1-1)代表2的0次方,就是1;其他类推
比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-22
//---------------------------------------------------------------------------
#include
long
int
btd(char
*s)
/*将以字符串形式存储在s地址中的二进制数字转换为对应的十进制数字*/
{
long
int
rt=0;
int
i,n=0;
while
(s[n])
n++;
for
(--n,i=n;
i>=0;
i--)
rt|=(s[i]-48)<
评论
0
0
加载更多

c语言怎么将八位二进制数转换成十进制数
将二进制数转换成十进制,一般是从字符串转换成一个整数,按位值乘以权值相累加得到结果。如:1010=1*2^3+0*2^2+1*2+0 =(((1*2)+0)*2)+1)*2+0 将十进制数转换成二进制数,采用的原理就是辗转除2,逆向输出余数。(windows系统下的itoa函数也是一个不错的选择,但diy更有意义)...

C语言算法:二转十的算法及说明(输入一个8位二进制数,将其转换为十进制...
void main(void){\/*主程序*\/ char nBin[9]={NULL,},i=0,rc;int nDec=0;printf("请输入二进制数!\\nBin=");for(;;){ if((rc=getch())==0xD || i==9) break;\/\/遇到回车或长度到8位则结束输入 else if(rc=='\\b' && i){\/\/处理退位修改 printf("\\b%c\\b",' ');i--;...

c语言把二进制数转换成十进制数的程序怎么写。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:int a = 0b10000001;printf("%d", a);。3、编译器运行test.cpp文件,此时输入的8位二进制数被成功用十进制进行了输出。

c语言把二进制数转换成十进制数的程序怎么写。
按照如下步骤即可用C语言把二进制数转换成十进制数的程序:1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加一个1,然后使用printf函数输出,并且调用Sum函数,数组名作为实参。

c语言怎么将2进制转化为10进制
include<stdio.h>int Sum(int a[]);int power(int b);int main(){ int array[8],i; printf("输入一个8位二进制数:"); for(i=0;i<8;i++) { scanf("%1d",&array[i]); } printf("转换为十进制数后是:%d\\n",Sum(array)); return 0;}int Sum(int ...

怎样用C语言将二进制数转换成十进制
将二进制转成十进制,按权值展开求和即可。可以通过以下代码解决: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*...

c语言 八进制转十进制程序
include<stdio.h> void main(){ char *p,s[6];int n;p=s;gets(p);n=0;while(*(p)!='\\0'){n=n*8+*p-'0';p++;} printf("%d",n);}

用C语言编写二进制转换十进制的程序。
1、为了完成进制的转换,在主函数中声明了个函数Sum,主要用于将二进制的每一位转换为十进制后的数相加,返回值就是相加后的和。另外定义了一个数组array[8],用于存放输入的八位二进制数。2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加了一个1,即%1d,这样是...

如何使用C语言编写二进制转换为十进制的程序
include <stdio.h>#include <math.h>#include <string.h>\/* 任意进制数转十进制数 *\/\/* char *value : 其他进制数,以字符串形式存储 *\/\/* int *result : 转换后的十进制数 *\/\/* int radix : 待转换的进制 *\/\/* R进制数共n位,第n位表示为Xn。转换后的10进制数表示为Y *\/\/* Y...

怎样用C语言将二进制数转换成十进制
\/\/---#include<stdio.hlongintbtd(char*s)\/*将以字符串形式存储在s地址中的二进制数字转换为对应的十进制数字*\/{longintrt=0;inti,n=0;while(s[n])n++;for(--n,i=n;i=0;i--)rt|=(s[i]-48)<<n-i;returnrt;}intmain(intargc,char*argv[]){printf(%ld,btd(11011));\/*示例...

相似回答