这里使用union(联合体)来实现高空间利用率
int *p=a p是一个指针变量,p变量存放的是一个地址,*p表示该地址里...那么,在c语言中,如何将一个IEEE754格式显示的一个int型变量,转换成float类型呢? 先看一段代码: longint x = 0x3f8ccccd;// 1.1 float b = *
int *p=a p是一个指针变量,p变量存放的是一个地址,*p表示该地址里存放的数据,该语句表达的是,将a变量的值存放在p所指向的地址里去。
int *p=&a 表示p指针指向的是a的地址
那么,在c语言中,如何将一个IEEE754格式显示的一个int型变量,转换成float类型呢?
先看一段代码:
long int x = 0x3f8ccccd;// 1.1 float b = *(float*)&x; printf("b=%f\n",b);
运行结果:
./a.out
b=1.100000
解释:
0x3f8ccccd是浮点数1.1的IEEE754格式,以十六进制显示。&x表示取1.1的地址,得到一个int型指针。(float*)&x表示将&x这个int型指针强制转换成float型指针。*(float*)&x表示这个float型指针所指向的数,也就是1.1。最后b的值显示就是1.1
c语言int型变量写入char数组的方法 #includeint main() {	int iMum = 1000000;	int iReNum = 0;	char cArray[4] = { 0 };	//int数写入char数组	for (int i = 0; i