C语言 怎样将无符号整型转换成浮点型

如题所述

C语言中无符号整型转换成浮点型方法如下:
unsigned int x=123;
1、输出强制转换,如:
printf("%f", x ); //这样的输出因为%f与x的类型不同,导致输出数据异常
printf("%f", (float)x ); //强制转换成浮点型,可正确输出
2、存储到相应的变量中,如:
float fVal;
fVal=x ; //系统会隐式转换 因float的有效数位最大为7位,所以,并不是所有整数都可以用float类型变量来表示,所以,最好使用double类型来存储任意的整数
printf("%f", fVal ); //输出正常

double dVal;
dVal=x ; //系统会隐式转换
printf("%f", dVal ); //输出正常
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-18
使用强制类型转换,如:
int a;

(float)a就表示把int类型的a强制转换成float型。
但是a一旦定义成int型,就不能改变a自身的数据类型。
第2个回答  2012-10-16
一个最简单的转换例子,希望能帮到你
#include<stdio.h>
void main()
{
int a;
scanf("%d",&a);
printf("%f",(float)a);
}本回答被网友采纳
第3个回答  2012-10-19
强制转换就行吧。
相似回答