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
加载更多