float型怎样强制转换成int型

 我来答
帐号已注销
2021-01-02 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:166万
展开全部

运行时所有数据都存储在内存中,所以相同很正常,float转int会将小数后面的数舍去。

比如定义了一个floata,强制转换成int可写成(int)a。如果是一个表达式,那么只需要将a替换成一个表达式即可。

规格化值:当指数域的8个二进制zhi数字既非全零又非全1时,float数值就是这种情况。

设指数域的八位二进制所表示的十进制数为e, 则公式1中的E就是 E = e - (2^7 - 1)而且此时,将小数域所表示的二进制假设为(f22)(f21)...(f1)(f0) (注2) ,则该小数域所表示的值即为f = 0.(f22)(f21)...(f1)(f0).于是M = 1 + f

扩展资料:

float a=10; // 定义 a为 float 型。

int b=(int)a;// 定义b 为 int 型。然后把 float型的 a 强制转换成 int型。再把a的值 赋值给 b ;

强制转换是指java中的向下转型,因为向下转型的时候会丢失精度。向上转型不需要强制,如:

int a= 10;//定义a为int型。

float b = a; //定义b为float型。然后把a的值赋给b。这种就是向上转型

参考资料来源:百度百科-强制转换

帐号已注销
2011-03-31 · TA获得超过864个赞
知道答主
回答量:162
采纳率:0%
帮助的人:125万
展开全部
比如你定义了一个float a,强制转换成int可写成(int)a。如果是一个表达式,那么只需要将a替换成一个表达式就OK了。赶紧去试试吧!祝你成功!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
地摊秀子
推荐于2017-10-02 · TA获得超过108个赞
知道答主
回答量:51
采纳率:0%
帮助的人:28.6万
展开全部
这是一个可以转换的程序 照着这样子 改 就差不多了。我试了 可以运行成功!
#include<stdio.h>
main()
{
float i=2.56;
int a;
a=(int)i;
printf("%d\n",a);

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zack163
2011-03-31 · 超过24用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:47.5万
展开全部
int i;
float a=1.234;
i=a;
或者
i=(int)a;

一种是隐示的一种是显示的 。两种都会截断后面的小数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式