您的位置:

c语言十进制转二进制8,c语言十进制转二进制保留6位小数

本文目录一览:

请问在C语言中,如何将一个十进制数转化为八位二进制的数?

我就懒得敲了,转一个网友的回答:

从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。

2(1-1)代表2的0次方,就是1;其他类推

比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13

用C语言编程实现十进制选择转换为二进制八进制和十六进制

#include

#include

#include

/*该函数可以实现小于整型数据的任意进制之间转换*/

/*以下函数将a进制数s转换成b进制并输出*/

void f(int a,int b,char s[])

{ char r[17];

int i,n,t,k;

for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--) /*这里先转换成十进制数*/

{ if(*(s+i)='9')

t+=(*(s+i)-'0')*int(pow(a,n));

else

t+=(*(s+i)-'A'+10)*int(pow(a,n));

}

for(i=0;t!=0;i++) /*再转换成b进制*/

{ k=t%b;

if(k9)r[i]='A'+k-10;

else r[i]='0'+k;

t/=b;

}

r[i]='\0';

s=strrev(r);

printf("%s",s);

}

C语言讲一个十进制数转化为二,八,十六进制(函数调用

itoa()函数可以实现,根据itoa()第三个参数(2/8/10)可以进行二、八、十六进制的转换,转换后为字符串,如要求是int,可以用atoi实现字符串与int之间的转换举例:#include

"stdio.h"#include

"stdlib.h"int

main(){int

L1;printf("输入数字\n");scanf("%d",

L1);char

str1[256];char

str2[256];char

str3[256];itoa(L1,

str1,

2);itoa(L1,

str2,

8);itoa(L1,

str3,

16);printf("2进制:%s\n8进制:%s\n16进制:%s\n",str1,str2,str3);return

0;}