c语言10进制转换的函数 c语言实现10进制转16进制

求c语言将十进制数转换为16进制的函数c语言将十进制数转换为16进制的函数:
#includestdio.h
main()
{
int u10;
char u16[10];
int w=0,a,b,i;
printf("请输入一个数字--");
scanf("%d",u10);
if(u10==0)
{
u16[0]='0';
w;
}
else
{
a=u10;
while(a)
{
b=a;
if(b10)
{
u16[w]='0' b;
}
else
{
u16[w]='A' b-10;
}
a=a/16;
w;
}
}
printf("\n");
printf("%d(10)转换为16进制数字为:",u10);
for(i=w-1;i=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}
扩展资料:
十进制数转换为二进制数方法
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并 。
1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用"除2取余 , 逆序排列"法 。具体做法是:用2去除十进制整数 , 可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位 , 后得到的余数作为二进制数的高位有效位,依次排列起来 。
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用"乘2取整,顺序排列"法 。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出 , 再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零 , 或者达到所要求的精度为止 。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位 。
参考资料:
百度百科-十进制
c语言怎么将十进制转化成二进制#include stdio.h
void main()
{
//进制转换函数c语言10进制转换的函数的声明
int transfer(int x);
int x;
printf("请输入一个十进制数:");
scanf("%d",x);
printf("转换成二进制数是:%d\n",transfer(x));
}
int transfer(int x)
{
int p=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y =yushu*p;
p*=10;
if(x2)
{
y =x*p;
break;
}
}
return y;
}
扩展资料c语言10进制转换的函数:
(1)二进制转十进制
方法:“按权展开求和”
【例】:
规律:个位上c语言10进制转换的函数的数字的次数是0c语言10进制转换的函数 , 十位上的数字的次数是1,......,依次递增 , 而十分位的数字的次数是-1,百分位上数字的次数是-2,...... , 依次递减 。
注意:不是任何一个十进制小数都能转换成有限位的二进制数 。
(2)十进制转二进制
十进制整数转二进制数:“除以2取余,逆序排列”(除二取余法)
【例】:
89÷2 ……1
44÷2 ……0
22÷2 ……0
11÷2 ……1
5÷2 ……1
2÷2 ……0
1
十进制小数转二进制数:“乘以2取整,顺序排列”(乘2取整法)
参考资料:
百度百科-二进制
用C语言进行十进制和八进制的转换怎么做如果输入是十进制字符串,输出是八进制字符串,则用如下dec2oct函数可实现转换
#includestdio.h
int dec2oct(char *dec,char *oct){
int num=0,i=0,t;
char c;
do{
c=*dec;
if(!c) return 0;// 出错了,没找到10进制数
if(c='0'c='9') break; // 找到十进制数了
elsedec;
}while(1);
do{
num = num*10(c-'0');
c=*dec;
if(!c) break;// 没有其他字符了
if(c='0'c='9') continue;// 还有十进制字符,继续
else break;// 没有其他十进制字符了,退出
}while(1);
do{
t = num % 8;
oct[i] = t '0';
num = num / 8;
if(num==0) break;
i;
}while(1);
for(t = (i 1)/2;t=i;t){
num = oct[t];
oct[t] = oct[i-t];
oct[i-t]=num;
}
oct[i 1]='\0';
return 1;
}
int main()
{
char dec[20],oct[20];
while(scanf("%s",dec)==1)
if(dec2oct(dec,oct)) printf("%s\n",oct);
else break;
return 1;
}
该函数dec2oct先将输入字符串中的 10进制字符串转换成二进制数存下来,然后再将二进制数转换成八进制字符串 。
求十进制转换二进制C语言代码求十进制转换二进制C语言代码代码如下c语言10进制转换的函数:
#includestdio.h
#define NR(sizeof(int)*8) //二进制位的个数
voiddeciToBin(intnum);//十进制转换为二进制函数声明
/*主函数*/
intmain(void)
{
intnum;
fprintf(stdout,"请输入一个正整数:");
/*获取并检查用户输入*/
while(1)
{
if(fscanf(stdin,"%d",num)!=1)
{
fprintf(stderr,"输入错误c语言10进制转换的函数!请重新输入:");
while(getchar()!='\n');//去掉多余的非法字符
continue;
}
elseif(num0)//输入的数不能为负数
{
fprintf(stderr,"请输入错误c语言10进制转换的函数!请输入正整数:");
continue;
}
else
break;
}
fprintf(stdout,"对应二进制为:");
#if1/*方法一:不使用递归*/
charbitArr[NR];
inti=-1;
/*算法:栈的数学模型*/
do{
i =1;
bitArr[i]=num%2;
num/=2;
}while(num!=0);
/*逆序打印*/
for(i;i=0;i--)
{
fprintf(stdout,"%d",bitArr[i]);
}
fputc('\n',stdout);
#else/*方法二:使用递归*/
if(num==0)
{
fprintf(stdout,"0\n");
}
else
{
deciToBin(num);//调用第归函数
fputc('\n',stdout);
}
#endif
return0;
}
/*
*@函数名:deciToBin
*@函数功能:实现十进制转换为二进制
*@参数:需要转换的十进制整数
*/
voiddeciToBin(intnum)
{
/*第归结束条件*/
if(num==0)
{
return;
}
/*第归调用*/
deciToBin(num/2);
/*逆序打印*/
fprintf(stdout,"%d",num%2);
}
扩展资料:
使用C语言编程实现任意进制数(2-16进制)转换为其c语言10进制转换的函数他任意进制数(2-16进制)方法:
#includestdio.h
#includestring.h
#includestdlib.h
intTenNum(chara[],intB);
voidNumchange(intm,intB);
intTenNum(chara[],intB)
{
intlen,i,num;
intsum=0;
len=strlen(a);
for(i=0;ilen;i)
{
if(a[i]='0'a[i]='9')
num=a[i]-'0';
elseif(a[i]='A'a[i]='F')
num=a[i]-'A' 10;
sum=sum*B num;
}
returnsum;
}
voidNumchange(intm,intB)
{
intn;
if(m)
{
Numchange(m/B,B);
n=m%B;
if(n10)
printf("%d",n);
else
printf("%c",n 55);
}
}
intmain()
{
intB,b;
chara[20];
printf("请输入待转换数的进制(2-16):");
do{
scanf_s("%d",B);
}while(B2B16);
printf("请输入待转换数:");
getchar();
gets_s(a);
intm=TenNum(a,B);
printf("请输入需要转成几进制数(2-16):");
do{
scanf_s("%d",b);
}while(B2B16);
printf("%d进制数%s转换为%d进制数的结果为:",B,a,b);
Numchange(m,b);
printf("\n");
system("pause");
return0;
}
C语言 将99(十进制)转为0x99(十六进制)并输出?在C语言中,可以使用printf函数将十进制数转换为十六进制输出 。
例如,可以使用下面的代码将99(十进制)转换为0x99(十六进制)并输出:
Copy code
#include stdio.h
int main()
{
int num = 99;
printf("0x%x", num);
return 0;
}
在这段代码中,我们定义了一个整型变量num , 并将其初始化为99 。然后,我们使用printf函数输出该变量的值 。printf函数的输出格式中,%x表示将整型变量以十六进制格式输出 , 0x则是表示输出的数字为十六进制数的前缀 。
运行这段代码后,将会输出0x99 。
希望这些信息对您有所帮助 。
【c语言10进制转换的函数 c语言实现10进制转16进制】c语言10进制转换的函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言实现10进制转16进制、c语言10进制转换的函数的信息别忘了在本站进行查找喔 。

    推荐阅读