可以使用sprintf函數(shù)轉(zhuǎn)換。
創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,南充網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:南充等地區(qū)。南充做網(wǎng)站價格咨詢:18982081108
1、對于整型,各個平臺有一些函數(shù)可以專門轉(zhuǎn)換,比如itoa等。
不過更通用的做法是使用sprintf函數(shù)。
2、聲明:
int sprintf(char *dst, const char *format_string, ...);
頭文件為stdio.h。
3、功能:
sprintf是一個不定參數(shù)函數(shù),根據(jù)format_string中提供的格式符,將后續(xù)參數(shù)轉(zhuǎn)為字符串存儲在第一個參數(shù)dst中。
4、使用示例:
short?a=1;
int?b=2;
long?c=3;
float?d=4;
char?buf[100];
sprintf(buf,?"%hd?%d?%ld?%f",a,b,c,d);//按照格式,將四個變量存儲在字符串中。
執(zhí)行后,buf中字符串為"1 2 3 4.000000"。
格式字符串使用方法與輸出函數(shù)printf相同。
1、可以根據(jù)16進制轉(zhuǎn)10進制的算法(即各位位碼值乘以位權(quán)之和)來實現(xiàn)該功能。
2、具體實現(xiàn)方法可以參考如下程序:
#include?stdio.h
void?main()
{
int?he;????
int?re=0;???//?保存轉(zhuǎn)換為10進制的結(jié)果
int?k=16;???//?16進制
int?n=1;????//?位權(quán)
scanf("%d",?he);??//?接收用戶輸入的16進制數(shù),不含0x前綴
while(he?!=?0)??
{
re?+=?(he%10)*n;??//?取出各位位碼值,并乘以對應(yīng)的位權(quán)值
he?/=?10;???//?去掉16進制數(shù)的最低位,次低位變?yōu)樽畹臀?/p>
n?*=?k;?????//?位權(quán)乘以16
}
printf("%d",re);?//?輸出轉(zhuǎn)換后的結(jié)果
}
可以使用sprintf函數(shù)實現(xiàn)功能。
sprintf的聲明為
int sprintf(char *dst, const char * format_str...);
其功能為:將...部分的參數(shù),按照format_str的要求,輸入到dst中。
需要根據(jù)數(shù)字的類型,使用format_str。
如整型(int)的使用方式為
sprintf(buf, "%d", a);
如果a為123,那么buf中的字符串為"123"。
常見的數(shù)字類型還有:
1 short, 用%h輸出;
2 long, 用%ld輸出;
3 float, 用%f輸出;
4 double, 用%lf輸出。
c語言將十進制數(shù)轉(zhuǎn)換為16進制的函數(shù):
#includestdio.h
main()
{
int u10;
char u16[10];
int w=0,a,b,i;
printf("請輸入一個數(shù)字--");
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)轉(zhuǎn)換為16進制數(shù)字為:",u10);
for(i=w-1;i=0;i--)
{
printf("%c",u16[i]);
}
printf("\n");
}
擴展資料:
十進制數(shù)轉(zhuǎn)換為二進制數(shù)方法
十進制數(shù)轉(zhuǎn)換為二進制數(shù)時,由于整數(shù)和小數(shù)的轉(zhuǎn)換方法不同,所以先將十進制數(shù)的整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換后,再加以合并。
1. 十進制整數(shù)轉(zhuǎn)換為二進制整數(shù) 十進制整數(shù)轉(zhuǎn)換為二進制整數(shù)采用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數(shù),可以得到一個商和余數(shù);再用2去除商,又會得到一個商和余數(shù),如此進行,直到商為零時為止,然后把先得到的余數(shù)作為二進制數(shù)的低位有效位,后得到的余數(shù)作為二進制數(shù)的高位有效位,依次排列起來。
2.十進制小數(shù)轉(zhuǎn)換為二進制小數(shù)
十進制小數(shù)轉(zhuǎn)換成二進制小數(shù)采用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數(shù),可以得到積,將積的整數(shù)部分取出,再用2乘余下的小數(shù)部分,又得到一個積,再將積的整數(shù)部分取出,如此進行,直到積中的小數(shù)部分為零,或者達到所要求的精度為止。
然后把取出的整數(shù)部分按順序排列起來,先取的整數(shù)作為二進制小數(shù)的高位有效位,后取的整數(shù)作為低位有效位。
參考資料:
百度百科-十進制
字符串轉(zhuǎn)換函數(shù)如下:
字符串轉(zhuǎn)換為整數(shù) atoi
2.字符串轉(zhuǎn)換為長整數(shù) atol
3.字符串轉(zhuǎn)換為浮點數(shù) strtod
4.字符串轉(zhuǎn)換為長整數(shù) strtol
5.字符串轉(zhuǎn)換為無符號長整型 strtoul
C語言是一門通用計算機編程語言,應(yīng)用廣泛。C語言的設(shè)計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產(chǎn)生少量的機器碼以及不需要任何運行環(huán)境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規(guī)格寫出的C語言程序可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業(yè)平臺。