c语言:int a=0x03,b=0x12,如何输出float型3.12

float temp=(float)b/100;
printf("%f\n",a+temp)结果是3.18,为十进制啊,如何为3.12
已知的十六进制啊

float就是 浮点型数,就是说的实数,带小数的,所谓浮点,在计算机中就是小数点位置可以变动的数,就比如20.0可以变成2.00*10。C语言里面的那些%d,%f等等都是一个代换符,用以指代某个要输出的数的类型,%d就是整数,%f就是浮点数。开始的时候看起来头疼,久了就明白了,其实就是一个代号而已。别想太复杂啦!至于之前的那个%d/n是俩个东西,%d是指此处要输出整型,/n是换行符,表示输出之前那个整型数后换行
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-19
#include "stdio.h"
int main()
{
int a=0x03,b=12;
float temp=(float)b/100;
printf("%f\n",a+temp);
}
第2个回答  2010-08-23
做一个转换程序
比方说
int a=0x03,b=0x12;
float x;
switch(a)
{
}
用swich 语句就可以了
不过这个 要是 a=0x03,b=0xef; float 型的就没有办法表示了 你还是 改下程序吧
相似回答