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

 我来答
_whales
2013-01-05 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:492万
展开全部
先定符号负数先弄个负号,然后可以用Ascii码或BCD码表示十进制,ASCII码除以10用余数转成字符完成后加结束符,然后翻转字符串!BCD每字节两位10进数,方法一样。正常计算机内所有数据,都以二进制表系,如果是字符串二进制,先转成计算机内的二进制表示,再转10进制好了!
百度网友085d281
2013-01-04 · 超过13用户采纳过TA的回答
知道答主
回答量:72
采纳率:0%
帮助的人:39万
展开全部
说下思路吧,二进制位数不确定,用链表实现,将输入的数据存入链表中。
然后遍历链表,循环,即可转化为十进制,不难,自己实现下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hlb310
推荐于2016-07-26 · 超过12用户采纳过TA的回答
知道答主
回答量:24
采纳率:0%
帮助的人:27.6万
展开全部
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;

}

}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式