float 型与int 型在运算时,都为自动变为double 型

float 型与int 型在运算时,都为自动变为double 型
但是

 int a  = 1;
 float b = 1.0;
 printf("%d",sizeof(a+b))

为什么得到4,不应该是double 型大小 8 吗?

3个回答

怎么会变成double,这里既没有强制转换,有没有隐式转换,自然还是float ,如果不懂,复习基础

类型应该是float才对呀

汉,谁说的这种理论啊

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
int型和double型?
double dValue = 20;rnprintf( "%d", dValue );rnrn为什么上面的结果是0,而不是20呢(用%f或%e输出结果就不用说了,我是指的是这个结果的本质)?rnrn谢谢!
c++ int型和double型运算
    #include<iostream> using namespace std; int main() { int a, b; a=3; b=4; cout<<"a/b ="<<a/b<<endl; cout<<"double(a/b) ="<<double(a/b)&lt
float型和double型的问题
有段程序是这样的:rnstruct sturnrnint num;rnchar *name;rnchar sex;rnfloat score;rn boy1=102,"Zhang ping",'M',78.5,*pstu;rnmain()rnrnpstu=&boy1;rnprintf("Number=%d\nName=%s\n",boy1.num,boy1.name);rnprintf("Sex=%c\nScore=%f\n\n",boy1.sex,boy1.score);rnprintf("Number=%d\nName=%s\n",(*pstu).num,(*pstu).name);rnprintf("Sex=%c\nScore=%f\n\n",(*pstu).sex,(*pstu).score);rnprintf("Number=%d\nName=%s\n",pstu->num,pstu->name);rnprintf("Sex=%c\nScore=%f\n\n",pstu->sex,pstu->score);rn,运行正常,但是在我用double型替换float型后,如下,score项只显示0,这是为什么呢?rnstruct sturnrn int num;rn char *name;rn char sex;rn double score;rn boy1 = 102, "Zhang ping", 'M', 78.5 , *pstu;rnvoid main()rnrn pstu = &boy1;rn printf("Number=%d\nName=%s\n", boy1.num, boy1.name);rn printf("Sex=%c\nScore=%d\n\n", boy1.sex, boy1.score);rn printf("Number=%d\nName=%s\n", (*pstu).num, (*pstu).name);rn printf("Sex=%c\nScore=%d\n\n", (*pstu).sex, (*pstu).score);rn printf("Number=%d\nName=%s\n", pstu->num, pstu->name);rn printf("Sex=%c\nScore=%d\n\n", pstu->sex, pstu->score);rn
float型和double型有什么区别?
float型和double型有什么区别?
float型到double型的转换错误??
rn写了一个函数rnrnfloat Function(float i)rnrnreturn 1./i;rnrnrn但是编译后警告说:从“double”转换到“float”,可能丢失数据.rn请问一下各位大虾这是怎么回事???
double 型和 float 型数据的输入问题!
提问前请大家看看下面的程序先:rnrnmain()rnrn double i;rn printf("Please input i:");rn scanf("%f",&i);rn printf("\ni = %e\n",i);rn getch();rnrnrn程序运行结果:rnrn例如从键盘输入 2 ,屏幕上就会显示 i = 1.63619e+137rnrn 从键盘输入 3 ,屏幕上就会显示 i = 1.81063e+137rnrn如果重新输入 2 或 3 ,显示的是 i = 1.……e+137rnrn只有省略号处的数值不同外,其他的都相同,这是怎么回事呢?rnrn(注:不管输入什么数,都只有省略号处的数值不同)rnrn为什么不能正确显示用户输入的数值呢?rnrn如果把变量 i 的类型换成 float 型,就能正确显示。rnrn上面的程序是在 Turbo C 2.0 环境中运行。rnrn还望高手解惑,高分送上!
double型与float型之间的相互转换问题
我做的单片机项目,目前遇到这样一个问题:rn通过串口接收到一个double型的数据,是其内存存放状态,总共8个字节,类似于4A D8 12 4D FB 21 09 40(也就是3.1415926),而在处理时因为KEIL只能处理4个字节的数据,所以根据IEEE标准将double型转换为float型,而处理完毕后还要将float型转换成double型通过串口发送出去。这中间就存在一个转换问题,即如何在double型和float型之间进行转换,目前double转float已实现,float转double尚未成功。rnfloat转double型时不知道底数部分应该如何对应或者说取舍。rnfloat型底数23位,double型底数52位,double型底数比float底数多的这部分应该如何处理,加0吗?rn请注意我用的是C语言,KEIL环境,应该只能根据IEEE标准转换,没有转换函数,请大家各抒己见,最好有算法或代码。rn
int型与float double型进行四则运算,怎么进行
int a =3;rndouble b = 0.0;rnfloat c =0.0;rnrnb=a*b;rnc = a*c;rnrnb +=a;rnc+=a;rn直接计算好像不行rn
int型数据怎么转换为float或double型
如题
int 和 float型的本质区别
Int 4 bytes ?2,147,483,648 to 2,147,483, 647 (just over 2 billion)rnrnfloat 4 bytes approximately ±3.40282347E+38F (6?7 significant decimal digits)rnrn同样都是4bytes,为什么range却不一样?请给出具体例子,谢谢。!
CString型可否变为int型???
请教各位怎样把CString型变为int型???
java 中double型转化成int型
//不进行四舍五入操作: (int)x //进行四舍五入操作: Integer.parseInt(new java.text.DecimalFormat("0").format(x))  
int型数字与double型的误差
据说这个double中存储1有可能不是1,而是0.99...什么的,那如何确定int的1减去double的1是应该等于零呢
怎么double型数据的int型输出
怎么double型数据的int型输出,比如有一个很大的数,如1234567890987,超过了int型,那么要用double型存储,那么怎么输出呢,想还是输出1234567890987这个形式,而不是double型的科学计数法,谢谢,尽量结贴
怎么将INT型转化成FLOAT型?
我的意思是用C写这段代码的话!算法是什么!谢谢!
float型转int型的问题
rnfloat yearMonth = 20101201;rnrn int year = (int)(yearMonth+0.999)/10000;rn int month = (int)(yearMonth+0.999)%10000/100;rn int day = (int)(yearMonth+0.999)%10000%100;rn这样得到的day是0,而且(int)yearMonth为20101200rn请问如何运算能够在转换成int型后得到20101201呢??
0.5是int型.还是float型
void funtion(int)rnvoid funtion(float)rn这二个函数的时候。。rn如果是funtion(0.5)时。。rn那么编译器。会不知道取其中那一个的rn在看高质量C.C++时...发现这个问题rn虽然考的是隐式转换的问题..rnrn但是我一直都认为0.5就是float型的.所以就是到void funtion(float)里..rn但是高质量c.c++说.这里他会不知道到底取个???(不懂了)rn请大家帮忙..分析..解答...谢谢
long int型和float型的字节困惑
1 byte=8bitrnlong型有32bit,范围-2e31~(2e31-1)rnfloat也有32bit,范围10e-37~10e38rnrn为什么同样是32bit,范围会不一样?不都是4个字节吗?rn谁能解释一下机理?
关于int型和float型相乘的问题
问题描述,比如int a = 58   如果直接用a*0.006在我的代码里运行出来是0.34800000000000003 而我们手算,结果应该是0.348? 为什么会出现这样的情况呢,因为0.006是一个float型的数据,我们看它是0.006,但是他在内在里就不一定是0.006,它可以是0.00599999999999999,或者0.006000000000000001,因为浮点型的范围为
float型转int型怎么转?
如:rn var f=9.5;//现在我想得到9怎么做
float型转化int型问题!!!!!
float f1 = 0.01f;rnf1 = f1 * 100;rn//float f2=1.0f;rnint a = (int)f1;rn这样a就为0;但如果把第三行的注释去掉以后,a就等于1了。为什么?????还有为什么a会为0;
int型与float型相剩?
我要对一int型与float型的两个字段相剩,在界面中有edit1控件表示的是数量,字段是sl(int 型),edit2控件表示的是价格,字段是price(float 型),edit3是价格与数量相剩的结果rn edit3.text:=inttostr(strtoint(edit1.text)*??????(edit2.text))rn其中???????处的类型该怎么转换?
简单的问题:double型和int型怎么转换成CString型?
用哪个函数啊?
jsp中:如何将string型转化成float型与int型?
jsp中:如何将string型转化成float型与int型?
如何将double和float转化为byte型,并将byte型转化为double和float型
double->byte[8];byte[8]->doublernfloat->byte[4];byte[4]->floatrnrn????
double/float型去小数位
double/float型的数,“12.15”,用intValue()可以去除小数点后面的数,而不进行四舍五入吗?
怎样在DOUBLE型转换到INT型时做到四舍五入?
在计算机机里的DOUBLE型数据是一个近似的值,当我把它强制转换成整型时程截取了它的整数部分,结果造成我算出的数有的比实际数小一,有的正好,请问如何在转换时四舍五入,谢谢!
插入数据时,int型和double型的显示问题
请问各位高手,数据库访问组件开发(MFC),窗口上方是控件,下面是数据表格,插入数据时,int型和double型不能及时正确显示,是怎么回事?rn 具体问题如下,第一行的值下面本来应该是1,结果显示为“r”,第二行的值下面本来应该是0.001,结果什么也不显示。rnrn原单位 目标单位 值rn kg kg rrn g kgrnrn但是查询一下的话就都能正确显示了。rnrn原单位 目标单位 值rn kg kg 1rn g kg 0.001
double如何转int型?
新手rn问个门槛外的问题rndouble如何转int型??rnrndouble d = 12.20005rnint arna = ??rn
int如何转换double型?
比如:rnint a=5;rnrn想要结果为:rndouble A=0.5;rnrnrn如何实现................rnrn
Asp.net 如何实现String类型转化为int型、double型、float型
Asp.net 如何实现String类型转化为int型、double型、float型 一、String 类型转化为Int型 String username=TextBox1.Text; String kouling = TextBox2.Text; int intdata=Convert.ToInt32(username); 代码分...
string型到float型的转化
我想把string型的数转为小数点后有两位的float型,rn如:Edit2->Text中为"0.4",希望能得到一个浮点型的0.40
float型
float型变量定义时,例如rn float dblDenpyoNo = 0.0f;rn必须在此期间0.0后加Frn为什么rn而DOUBLE可以直接付值rn例如rndouble dblDpyoNo = 0.0;rn
int型转换成varchar型?
恳请各位帮忙!急!!在线等!!
int型与char型的转化
在java中,int和char强制转化。其中int对应的是ASCII码,char是对应的字符。 示例如下。private static void charDemo(){ //这里打印char的ASCII码 char a = 'a'; System.out.println("a:" + (int)a); char z = 'z';
int 型转char型?
char c;rnint t;rn如何将t=3,转入c='3',谢谢rnc=Convert.ToChar(t.ToString());//不对rnc=Convert.ToChar(t);//不对rnrn
LUA,C#中float型和double型的隐式舍入操作
 在学习LUA的过程中,发现了如下现象: 根据《魔兽世界脚本编程宝典的描述》对这一情况的描述,可以确定该状况的发生应该和浮点数本身采用的IEEE编码格式有关系; 那么这一现象应该也存在于其他语言。针对这一情况,在C#中进行了测试。 float x = 1.2f; float y = 1.0f; Cons
C++知识点:double型和float型判断相等
由于计算机表示小数(包括float和double型小数)都有误差,我们不能直接用符号(==)判断两个小数是否相等,如果两个小数的差的绝对值很小,比如,小于 0.0000001,就可认为他们相等。 bool equal(double a, double b) { if((a-b<0.0000001) && (b-a<0.0000001)) return true; else return fals
%f输出float型,怎么格式化输出double型
如题rn
【C++学习笔记】对float型数据类型和double型数据的理解
简单的说,float型数据是指用科学计数法储存的数据。 在内存中,float型数据的储存分两部分:第一部分:0.123456(六位小数,小于1),第二部分:10^n(控制小数点的位置)。 这种储存数据的方法使float型数据有一下特点: 1、可以储存小数 2、只有六位有效数字(因此float不可能储存所有的数,比如0.1234567,7会消失,或者12345678,7和8会消失)。
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数