如何用c语言将十进制数转换为二进制数

如题所述

第1个回答  2020-02-26
//---------------------------------------------------------------------------
#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;
}
//---------------------------------------------------------------------------
第2个回答  2017-04-20
//---------------------------------------------------------------------------

#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;
}
//---------------------------------------------------------------------------本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网