c语言程序 自定义函数实现:二进制转换为十进制。

如题所述

先定符号负数先弄个负号,然后可以用Ascii码或BCD码表示十进制,ASCII码除以10用余数转成字符完成后加结束符,然后翻转字符串!BCD每字节两位10进数,方法一样。正常计算机内所有数据,都以二进制表系,如果是字符串二进制,先转成计算机内的二进制表示,再转10进制好了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-04
说下思路吧,二进制位数不确定,用链表实现,将输入的数据存入链表中。
然后遍历链表,循环,即可转化为十进制,不难,自己实现下
第2个回答  推荐于2016-07-26
long bin_to_dec(bin[],length,sign)
///bin[]代表存储二进制的数组序列,数组的每一位用0,1表示二进制
///length代表二进制长度,即bin[]长度,bin[0]为最低位,bin[length]为最高位
///sign若为true代表有符号数,负责无符号数
///返回数据类型为long型数据

{
long temp=0;
long weigth=1;

for(int i=length;i>0;i--)
{
weight=weight*2;

if(sign) //有符号数
if(i<length-1)
temp+=weight*bin[i]/2;
else
temp=bin[length-1]?temp:-1*temp;
else //无符号数
temp+=weigth*bin[i]/2;
return temp;

}

}本回答被网友采纳
相似回答