c语言进制转化函数,c语言进制

任意进制数的转换c语言

任意进制数转换为十进制,可以用 strtol()函数。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的商都网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

函数定义:

long int strtol(const char *nptr,char **endptr,int base);

见 网页链接  百度百科。

十进制转换为任意进制,可以用itoa()函数。

// itoa 例子

#include stdio.h

#include stdlib.h

int main (){

int i;

char buffer[33];

printf ("Enter a number: ");

scanf ("%d",i);    //输入整数i

itoa (i,buffer,10);    //将i转化为10进制数,存到buffer中

printf ("decimal: %s\n",buffer);    //输出打印buffer

itoa (i,buffer,16);    //将i转化为16进制数,存到buffer中

printf ("hexadecimal: %s\n",buffer);    //输出打印buffer

itoa (i,buffer,2);    //将i转化为2进制数,存到buffer中

printf ("binary: %s\n",buffer);    //输出打印buffer

return 0;}

求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语言中的进制怎么转换啊

任意进制之间的进制转换。需要考虑高精度整形的设计,用数组模拟一个整形变量。一位一位的进行进制转换,算法思想和十进制转换到二进制相同,除以目标进制,余数为低位。这种进制转换实用性不强,一般出现在计算机程序竞赛当中。

8,10,16进制的转换。在C语言中有不少函数都能实现上面几种进制之间的进制转换。

推荐其中的sprintf/sscanf函数。

sprintf格式的规格如下所示。[]中的部分是可选的。

%[指定参数][标识符][宽度][.精度]指示符

若想输出'%'本身时, 请使用'%%'处理。

1. 处理字符方向。负号时表示从后向前处理。

2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。

3. 字符总宽度。为最小宽度。

4. 精确度。指在小数点后的浮点数位数。

转换字符

%% 印出百分比符号,不转换。

%c 整数转成对应的 ASCII 字元。

%d 整数转成十进位。

%f 倍精确度数字转成浮点数。

%o 整数转成八进位。

%s 整数转成字符串。

%x 整数转成小写十六进位。

%X 整数转成大写十六进位。

例程(16进制和10进制之间的转换):

#include stdio.h  

#include limits.h  

int main()  

{  

char s[100] = {0};  

sprintf(s, "%x", INT_MAX);  

printf("%s\n", s); // 7fffffff  

char str[100] = "7fffffff";  

int i = 0;  

sscanf(str, "%x", i);  

printf("%d\n", i); // 2147483647  

return 0;   

}

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语言讲一个十进制数转化为二,八,十六进制(函数调用

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;}


文章题目:c语言进制转化函数,c语言进制
转载来于:http://azwzsj.com/article/hsgiig.html