c语言转化进制的函数 c语言进制转换的函数

求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%16;
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语言16进制转换为10进制数的函数是什么?1、可以根据16进制转10进制的算法(即各位位码值乘以位权之和)来实现该功能 。
2、具体实现方法可以参考如下程序:
#include stdio.h
void main()
{
int he;
int re=0;// 保存转换为10进制的结果
int k=16;// 16进制
int n=1;// 位权
scanf("%d", he);// 接收用户输入的16进制数,不含0x前缀
while(he != 0)
{
re += (he%10)*n;// 取出各位位码值,并乘以对应的位权值
he /= 10;// 去掉16进制数的最低位 , 次低位变为最低位
n *= k;// 位权乘以16
}
printf("%d",re); // 输出转换后的结果
}
C语言中的进制怎么转换啊任意进制之间的进制转换 。需要考虑高精度整形的设计,用数组模拟一个整形变量 。一位一位的进行进制转换 , 算法思想和十进制转换到二进制相同,除以目标进制,余数为低位 。这种进制转换实用性不强,一般出现在计算机程序竞赛当中 。
8,10,16进制的转换 。在C语言中有不少函数都能实现上面几种进制之间的进制转换 。
推荐其中的sprintf/sscanf函数 。
sprintf格式的规格如下所示 。[]中的部分是可选的 。
%[指定参数][标识符][宽度][.精度]指示符
若想输出'%'本身时, 请使用'%%'处理 。
1. 处理字符方向 。负号时表示从后向前处理 。
2. 填空字元 。0 的话表示空格填 0;空格是内定值 , 表示空格就放着 。
3. 字符总宽度 。为最小宽度 。
4. 精确度 。指在小数点后的浮点数位数 。
转换字符
%% 印出百分比符号,不转换 。
%c 整数转成对应的 ASCII 字元 。
%d 整数转成十进位 。
%f 倍精确度数字转成浮点数 。

推荐阅读