300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言位运算八进制转二进制 C语言十进制转换二进制八 十六进制。二进制转十进制。...

c语言位运算八进制转二进制 C语言十进制转换二进制八 十六进制。二进制转十进制。...

时间:2022-11-21 11:22:28

相关推荐

c语言位运算八进制转二进制 C语言十进制转换二进制八 十六进制。二进制转十进制。...

C语言十进制转换二进制八,十六进制。

十进制转二进制有个计算公式,就是除以2取余再倒序显示余数就是了。可以根据公式写。八制进公式也同理。十六进制有点不一样,大于9的要转为字母。A,B,C,D,E,F。

#include

void totwo();

void toeight();

void tosixt();

int main()

{

totwo();

toeight();

tosixt();

return 0;

}

void totwo()

{

int p,m,n,a[100];

printf("十进制转二进制\n");

printf("输入十进制数:");

scanf("%d",&p);

for(m=0;p>0;m++)

{

a[m]=p%2;

p=p/2;

}

for(n=m-1;n>=0;n--)

printf("%d",a[n]);

printf("\n");

}

void toeight()

{

int p,m,n,a[100];

printf("十进制转八进制\n");

printf("输入十进制数:");

scanf("%d",&p);

for(m=0;p>0;m++)

{

a[m]=p%8;

p=p/8;

}

for(n=m-1;n>=0;n--)

printf("%d",a[n]);

printf("\n");

}

void tosixt()

{

int p,m,n,a;

char ch[100];

printf("十进制转十六进制\n");

printf("输入十进制数:");

scanf("%d",&p);

for(m=0;p>0;m++)

{

a=p%16;

if(a<10)

{

ch[m]=a+'0';

}else

{

ch[m]=a-10+'A';

}

p=p/16;

}

for(n=m-1;n>=0;n--)

printf("%c",ch[n]);

printf("\n");

}

--11-2二进制转十进制。也是有一个公式,比如二进制1010对应十进制是10,从前面位开始1*2^3+0*2^2+1*2^1+0*2^0=8+2=10.还有就是判断输入的是不是二进制数了。

#include

void towtoten();

int pow(int a);

int main()

{

towtoten();

return 0;

}

void towtoten()

{

int temp,n=0,i,j,sum=0;

char p,a[100];

printf("\n二进制转十进制\n");

printf("输入二进制数:");

while((p=getchar())!='\n')

{

a[n]=p;

n++;

}

j=n;

for(i=0;i

{

if(a[i]=='.')

{

printf("不支持小数。");

towtoten();

return;

}

if(a[i]=='-')

{

printf("不支持负数。");

towtoten();

return;

}

if(a[i]!='1'&&a[i]!='0')

{

printf("输入有误,不是二进制数。");

towtoten();

return;

}

if(a[i]=='1')

{

temp=pow(j-1);

}else

{

temp=0;

}

sum+=temp;

j--;

}

printf("十进制数:%d",sum);

printf("\n");

}

int pow(int a)

{

int product=1;

for(int i=0;i

{

product*=2;

}

return product;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。