C语言float,hex, dec几种格式的转换

 1、测试代码

#include <stdio.h>

int main()
{
   signed short a = 0;
   float temp = 1.0;
   unsigned char *ptemp;
   /* 我的第一个 C 程序 */
	
	a = (0xff<<8) | 0x37;
    printf("a(dec)=%d.%d, a(hex)=%x! \n",a/10, a%10, a);
	
	a = -201;
    printf("a(dec)=%d.%d, a(hex)=%x! \n",a/10, a%10, a);
	
	temp = a*0.1;
	printf("temp(float)=%f,temp(hex)=%x, temp(dec) = %d! \n",temp,temp,temp);
	ptemp = (unsigned char *)&temp;
	printf("temp(char):%02x-%02x-%02x-%02x \n", ptemp[0], ptemp[1],ptemp[2],ptemp[3]);
   
   return 0;
}

2、打印显示

a(dec)=-20.-1, a(hex)=ffffff37! 
a(dec)=-20.-1, a(hex)=ffffff37! 
temp(float)=-20.100000,temp(hex)=2021, temp(dec) = -1413826368! 
temp(char):cd-cc-a0-c1 

3、总结说明

      对于一个有符号数据采用a=-201和a=0xff37这两种赋值方法是一样的。

      对于一个浮点数要取其在内存中存储的值,需要使用一个char形的指针来指向浮点数,采用字节访问来读取其内存中存储的值。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值