怎么变成ASCII码

怎么将从DS18B20提取出来的温度变成ASCII码?

代码如下,如有帮助,请采纳一下,谢谢。

#include<stdio.h>
int main()
{
	int n;
	char buf[4] = {0};
	printf("int值:");
	scanf("%d",&n);
	sprintf_s(buf,4,"%x",n);
	printf("ascii码:%s\n",buf);
	return 0;
}

 

 这个是我之前写过的温度读取转化成浮点数,在ttt中返回,然后加一个sprintf(data,"%.2f",ttt);就可以转化成字符串了

bool get_temputer(float* ttt)    //读取温度值 
{  
	uint8_t sign;  /* 温度值为正或负 */
	unsigned char TL,TH;  
	unsigned int tmp;
    float t = 0;
	if(init_1820()==0)     //复位18b20  
	{
		return false;
	}
	write_1820(0xcc);   // 发出转换命令  
	write_1820(0x44); 
	ds_delay_ms(800);     //不延时也好使,不知道怎么回事! 
	if(init_1820()==0)     //复位18b20  
	{
		return false;
	}
	write_1820(0xcc);  //发出读命令  
	write_1820(0xbe);  

	TL=read_1820();  //读数据  
	TH=read_1820();  
	if(TH>7) /* 高5位为1,说明温度为负 */
	{
		tmp = ~(TH<<8|TL) + 1;  //补码
		sign=1;//温度为负 	   
	}
	else 
	{
		sign=0;//温度为正   
		tmp = TH<<8 | TL;
	}
	if(sign)
		t=-(tmp*0.0625);
	else
		t=(tmp*0.0625);

	//printf("gettemp:[%d][%d][%f]\r\n",TH,TL,t);
	*ttt=t;
	return true; 
}