标题:进制转换怎么用C语言表示出来
只看楼主
恒毅
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-12-12
结帖率:0
已结贴  问题点数:20 回复次数:2 
进制转换怎么用C语言表示出来
怎么将一个二进制数转换成对应的十进制数,求各位大神指点,希望可以有代码,谢谢。
搜索更多相关主题的帖子: 进制转 C语言 表示 十进制 代码 
2017-12-13 15:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:10 
是这样吗:
BIN:1010101   DEC:85
(1<<6)+(1<<4)+(1<<2)+(1<<0) = 85
2017-12-13 16:39
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:10 
#include <stdio.h>
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)<<n-i;
return rt;
}
int main(int argc, char* argv[])
{
printf("%ld",btd("11011"));/*示例,输出11011B的十进制形式*/
return 0;
}
2017-12-14 11:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483342-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028821 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved